■ GetDCEx API 함수를 선언하는 방법을 보여준다.
▶ 예제 코드 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
using System; using System.Runtime.InteropServices; #region 디바이스 컨텍스트 구하기 (확장) - GetDCEx(windowHandle, clipRegionHandle, flag) /// <summary> /// 디바이스 컨텍스트 구하기 (확장) /// </summary> /// <param name="windowHandle">윈도우 핸들</param> /// <param name="clipRegionHandle">클리핑 영역 핸들</param> /// <param name="flag">플래그</param> /// <returns>디바이스 컨텍스트 핸들</returns> [DllImport("user32")] private static extern IntPtr GetDCEx(IntPtr windowHandle, IntPtr clipRegionHandle, DeviceContextFlag flag); #endregion /// <summary> /// 디바이스 컨텍스트 플래그 /// </summary> [Flags()] public enum DeviceContextFlag : uint { /// <summary> /// DCX_WINDOW /// </summary> DCX_WINDOW = 0x00000001, /// <summary> /// DCX_CACHE /// </summary> DCX_CACHE = 0x00000002, /// <summary> /// DCX_NORESETATTRS /// </summary> DCX_NORESETATTRS = 0x00000004, /// <summary> /// DCX_CLIPCHILDREN /// </summary> DCX_CLIPCHILDREN = 0x00000008, /// <summary> /// DCX_CLIPSIBLINGS /// </summary> DCX_CLIPSIBLINGS = 0x00000010, /// <summary> /// DCX_PARENTCLIP /// </summary> DCX_PARENTCLIP = 0x00000020, /// <summary> /// DCX_EXCLUDERGN /// </summary> DCX_EXCLUDERGN = 0x00000040, /// <summary> /// DCX_INTERSECTRGN /// </summary> DCX_INTERSECTRGN = 0x00000080, /// <summary> /// DCX_EXCLUDEUPDATE /// </summary> DCX_EXCLUDEUPDATE = 0x00000100, /// <summary> /// DCX_INTERSECTUPDATE /// </summary> DCX_INTERSECTUPDATE = 0x00000200, /// <summary> /// DCX_LOCKWINDOWUPDATE /// </summary> DCX_LOCKWINDOWUPDATE = 0x00000400, /// <summary> /// DCX_USESTYLE /// </summary> DCX_USESTYLE = 0x00010000, /// <summary> /// DCX_VALIDATE /// </summary> DCX_VALIDATE = 0x00200000, } |