65,189
社区成员




#include <locale>
#include <Windows.h>
#include "resource.h"
LONG DefWndProc = NULL ;
LRESULT CALLBACK EditNewProc ( HWND hEdit, UINT uMsg, WPARAM wParam, LPARAM lParam )
{
switch(uMsg)
{
case WM_LBUTTONDOWN :
printf("左键被按下\n");
break;
case WM_LBUTTONUP:
printf("左键被松开\n");
break;
case WM_LBUTTONDBLCLK:
printf("左键双击\n");
break;
}
return CallWindowProc ( (WNDPROC)DefWndProc, hEdit, uMsg, wParam, lParam ) ;
}
//窗口消息的回调函数
BOOL WINAPI DialogProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
LONG DlgWndProc, EditWndProc ;
switch(uMsg)
{
case WM_INITDIALOG:
{
DefWndProc = SetWindowLong(GetDlgItem(hWnd,IDC_EDIT1),GWL_WNDPROC,(long)EditNewProc );
DefWndProc = SetWindowLong(GetDlgItem(hWnd,IDC_EDIT2),GWL_WNDPROC,(long)EditNewProc );
return TRUE;
}
case WM_CLOSE ://关闭消息
EndDialog(hWnd,1);
}
return false;
}
int main()
{
::DialogBox(NULL, MAKEINTRESOURCE(IDD_DIALOG1),NULL, DialogProc);
return 0;
}