在windows网络通信一书中看到的例子,特意摘下来。原理还不是太明白...
几点基本的说明:
1. 窗口类应用程序的入口函数为:WinMain()函数。
格式为:int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nShowCmd );
这里主要用的参数为第一个,即自己的句柄。
2. 创建模态对话框的函数(Windows提供的接口):DialogBoxParam()
格式为:
INT_PTR DialogBoxParam( HINSTANCE hInstance, LPCTSTR lpTemplateName, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM dwInitParam );
其中,第一个参数为实例的句柄,第二个参数为对话框资源ID号,第三个参数为父窗口句柄,第四个为自定义的消息处理函数,第五个参数为对话框初始化的值。
自定义的消息处理函数的返回值类型和参数类型为固定的,格式如下:
INT_PTR CALLBACK DialogProc( HWND hwndDlg, UINT uMsg, // message WPARAM wParam, // first message parameter LPARAM lParam // second message parameter);
其中,第一个参数为指向对话框的句柄,第二个类消息类型,第三个和第四个可以由用户规定,可以有不同的处理。
3. 消息类型
系统自身:WM_INITDIALOG,WM_COMMAND
WM_INITDIALOG:对话框初始时用户想要加的工作。可以创建对象,初始化选择状态等
WM_COMMAND:宏命令LOWORD()