获取私有显示设备上下文 编辑

在其窗口的客户端区域中执行大量绘图操作的应用程序必须使用私有显示设备上下文。要创建此类设备上下文,应用程序必须在注册窗口类时为WNDCLASS结构的样式成员指定CS_OWNDC常量。注册窗口类后,应用程序通过调用GetDC函数获取标识私有显示设备上下文的句柄。

以下示例显示如何创建私有显示设备上下文。

#include < windows.h > / *所有Windows应用程序* / *

#include < stdio.h >

#include < string.h > / * strtok * /

#include“dc.h”/ *特定于此程序* /

/ *功能原型* /

BOOL InitApplication(HINSTANCE);

long FAR PASCAL MainWndProc(HWND, UINT, UINT, LONG);

/ *全局变量* /

HINSTANCE hinst; /* handle of current instance */

HDC hdc; /* display device context handle */

.

.

.

BOOL InitApplication(HINSTANCE hinstance)

{

WNDCLASS wc;

/*

*使用参数填写窗口类结构

*描述主窗口。

*/

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";

/ *注册窗口类并返回

*结果代码。

*/

return RegisterClass(&wc);

}

LRESULT APIENTRY MainWndProc(

HWND hwnd,/ *窗口句柄* /

UINT消息,/ *消息类型* /

WPARAM wParam,/ *附加信息* /

LPARAM lParam)/ *附加信息* /

{

PAINTSTRUCT ps; /* paint structure */

/ *检索标识私有DC的句柄。*/

hdc = GetDC(hwnd);

switch(message){

case WM_PAINT:

BeginPaint(hwnd, &ps);

.

./ *使用私人DC绘制和绘画。*/

.

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:22 次

字数:2403

最后编辑:5 个月前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。