WEB开发网
开发学院软件开发VC Windows SDK笔记(三):定制控件消息处理函数 阅读

Windows SDK笔记(三):定制控件消息处理函数

 2009-11-10 20:31:07 来源:WEB开发网   
核心提示:三、示例1.提供新处理函数//记录原来处理函数的全局变量WNDPROC OldMsgProc;//新消息处理函数LRESULT MyMsgProc(HWND hwnd,UINT message, WPARAM wParam, LPARAM lParam){switch(message){case WM_LBUTTOND

三、示例

1.提供新处理函数

//记录原来处理函数的全局变量
WNDPROC OldMsgProc;
//新消息处理函数
LRESULT MyMsgProc(HWND hwnd,UINT message, WPARAM wParam, LPARAM lParam)
{
switch(message)
{
case WM_LBUTTONDOWN:
::MessageBox(NULL,"click!","",MB_OK);
}
//调用控件原来的消息处理函数
return CallWindowProc(OldMsgProc,hwnd,message,wParam,lParam);
}

2.建立窗口后,更改消息处理函数

case WM_CREATE:
{
HWND hControlWnd = CreateWindowEx(0,"BUTTON",
TEXT("按钮(&A)"),
WS_CHILD | WS_VISIBLE|BS_PUSHBUTTON,
10,
10,
100,
100,
hwnd,
(HMENU)1000,  //控件ID
((LPCREATESTRUCT) lParam)->hInstance,  //实例句柄
NULL);
//嵌入新的消息处理函数
OldMsgProc = (WNDPROC) SetWindowLong (hControlWnd, GWL_WNDPROC, (LONG)MyMsgProc);
}
return 0;

上一页  1 2 

Tags:Windows SDK 笔记

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接