123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- // Copyright (c) 2007-2012 Michael Chapman
- // http://ipaddresscontrollib.googlecode.com
- // Permission is hereby granted, free of charge, to any person obtaining
- // a copy of this software and associated documentation files (the
- // "Software"), to deal in the Software without restriction, including
- // without limitation the rights to use, copy, modify, merge, publish,
- // distribute, sublicense, and/or sell copies of the Software, and to
- // permit persons to whom the Software is furnished to do so, subject to
- // the following conditions:
- // The above copyright notice and this permission notice shall be
- // included in all copies or substantial portions of the Software.
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
- // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- using System;
- using System.Runtime.InteropServices;
- namespace IPAddressControlLib
- {
- internal class NativeMethods
- {
- private NativeMethods() {}
- [DllImport( "user32.dll" )]
- public static extern IntPtr GetWindowDC( IntPtr hWnd );
- [DllImport( "user32.dll" )]
- public static extern int ReleaseDC( IntPtr hWnd, IntPtr hDC );
- [DllImport( "gdi32.dll", CharSet = CharSet.Unicode )]
- [return: MarshalAs( UnmanagedType.Bool )]
- public static extern bool GetTextMetrics( IntPtr hdc, out TEXTMETRIC lptm );
- [DllImport( "gdi32.dll", CharSet = CharSet.Unicode )]
- public static extern IntPtr SelectObject( IntPtr hdc, IntPtr hgdiobj );
- [DllImport( "gdi32.dll", CharSet = CharSet.Unicode )]
- [return : MarshalAs( UnmanagedType.Bool)]
- public static extern bool DeleteObject( IntPtr hdc );
- [Serializable, StructLayout( LayoutKind.Sequential, CharSet = CharSet.Unicode )]
- public struct TEXTMETRIC
- {
- public int tmHeight;
- public int tmAscent;
- public int tmDescent;
- public int tmInternalLeading;
- public int tmExternalLeading;
- public int tmAveCharWidth;
- public int tmMaxCharWidth;
- public int tmWeight;
- public int tmOverhang;
- public int tmDigitizedAspectX;
- public int tmDigitizedAspectY;
- public char tmFirstChar;
- public char tmLastChar;
- public char tmDefaultChar;
- public char tmBreakChar;
- public byte tmItalic;
- public byte tmUnderlined;
- public byte tmStruckOut;
- public byte tmPitchAndFamily;
- public byte tmCharSet;
- }
- }
- }
|