摘自CSDN的完整DIALOG实例

#include   <windows.h>
#include   <winsock.h>
#include   "resource.h "

LRESULT   WINAPI   WndProc(HWND   hwnd,UINT   uMsg,WPARAM   wParam,LPARAM   lParam);
BOOL   CALLBACK   DialogProc(HWND   hwndDlg,   UINT   uMsg,   WPARAM   wParam,   LPARAM   lParam);

int   APIENTRY   WinMain(HINSTANCE   hInstance,
                                          HINSTANCE   hPrevInstance,
                                          LPSTR           lpCmdLine,
                                          int               nCmdShow)
{
WNDCLASS   wndclass;
HWND   hwnd;
MSG   msg;

wndclass.style                 =   CS_HREDRAW|CS_VREDRAW;
wndclass.lpfnWndProc     =   WndProc;
wndclass.cbClsExtra       =   0;
wndclass.cbWndExtra       =   0;
wndclass.hInstance         =   hInstance;
wndclass.hCursor             =   LoadCursor(NULL,IDC_ARROW);
wndclass.hIcon                 =   NULL;
wndclass.hbrBackground=   (HBRUSH)   GetStockObject(WHITE_BRUSH);
wndclass.lpszClassName=   "SDK   Window ";
wndclass.lpszMenuName   =   NULL;

RegisterClass(&wndclass);     //   Register   window.
hwnd   =   CreateWindow( "SDK   Window ",
"SDK ",
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
NULL,
NULL,
hInstance,
NULL);

ShowWindow(hwnd,SW_SHOWNORMAL);
UpdateWindow(hwnd);

while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}

return   0;
}

LRESULT   WINAPI   WndProc(HWND   hwnd,
      UINT   uMsg,
      WPARAM   wParam,
      LPARAM   lParam)
{
HINSTANCE   hInstance;

switch(uMsg)
{
case   WM_CREATE:
hInstance   =   ((LPCREATESTRUCT)lParam)-> hInstance;
DialogBox(hInstance,MAKEINTRESOURCE(IDD_DIALOG),hwnd,   (DLGPROC)DialogProc);
break;
case   WM_PAINT:
break;
case   WM_DESTROY:
PostQuitMessage(0);
break;
default:
return   DefWindowProc(hwnd,uMsg,wParam,lParam);
}
return   0;
}

BOOL   CALLBACK   DialogProc(HWND   hwndDlg,   UINT   uMsg,   WPARAM   wParam,   LPARAM   lParam)
{
switch   (uMsg)
{
case   WM_INITDIALOG:
return   TRUE;
case   WM_COMMAND:
if   (LOWORD(wParam)   ==   IDOK   ||   LOWORD(wParam)   ==   IDCANCEL)  
{
EndDialog(hwndDlg,   LOWORD(wParam));
return   TRUE;
}
break;
}
        return   FALSE;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值