- /*
- 1:获得一个私有的显示DC
- 程序想在其窗口的客房区进行各种描绘操作需要先获得一个私有的显示DC。为了获得这
- 种类型的DC,窗口类在注册的时候需要设置风格的成员变量设置成CS_OWNDC。注册之后
- 程序可以通过GetDC方法获取一个标识着私有DC的句柄。
- */
- #include <windows.h> // required for all Windows-based applications
- #include <stdio.h> // C run-time header for i/o
- #include <string.h> // C run-time header for strtok_s
- #include "dc.h" // specific to this program
- // Function prototypes.
- BOOL InitApplication(HINSTANCE);
- long FAR PASCAL MainWndProc(HWND, UINT, UINT, LONG);
- // Global variables
- HINSTANCE hinst; // handle to current instance
- HDC hdc; // display device context handle
- BOOL InitApplication(HINSTANCE hinstance)
- {
- WNDCLASS wc;
- // Fill in the window class structure with parameters
- // describing the main window.
- //指定风格为CS_OWNDC///////////////////////////////////////////
- wc.style = CS_OWNDC; // Private-DC constant
- //////////////////////////////////////////////////////////////
- wc.lpfnWndProc = (WNDPROC) MainWndProc;
- wc.cbClsExtra = 0;
- wc.cbWndExtra = 0;
- wc.hInstance = hinstance;
- wc.hIcon = LoadIcon((HINSTANCE) NULL,
- MAKEINTRESOURCE(IDI_APPLICATION));
- wc.hCursor = LoadCursor((HINSTANCE) NULL,
- MAKEINTRESOURCE(IDC_ARROW));
- wc.hbrBackground = GetStockObject(WHITE_BRUSH);
- wc.lpszMenuName = "GenericMenu";
- wc.lpszClassName = "GenericWClass";
- // Register the window class and return the resulting code.
- return RegisterClass(&wc);
- }
- LRESULT APIENTRY MainWndProc(
- HWND hwnd, // window handle
- UINT message, // type of message
- WPARAM wParam, // additional information
- LPARAM lParam) // additional information
- {
- PAINTSTRUCT ps; // paint structure
- // Retrieve a handle identifying the private DC.
- ///////////////////////////////////////////////////////////////////////
- hdc = GetDC(hwnd);
- ///////////////////////////////////////////////////////////////////////
- switch (message)
- {
- case WM_PAINT:
- BeginPaint(hwnd, &ps);
- // Draw and paint using private DC.
获得一个私有的显示DC
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.