代碼
#include <Windows.h>
#include <windowsx.h>
#include "resource.h"
#include <wchar.h>
void Button_OnCommand(HWND hwnd,int id,HWND hwndClt,UINT codeNotify)
{
switch (id)
{
case IDOK:
wchar_t lpsz[MAX_PATH];
wmemset(lpsz,0,MAX_PATH);
//控制項宏
Edit_GetText(GetDlgItem(hwnd,IDC_EDIT1),lpsz,MAX_PATH);
MessageBox(hwnd,lpsz,L"OK",NULL);
break;
case IDCANCEL:
MessageBox(hwnd,L"Click Cancle!",L"CANCLE",NULL);
break;
}
}
LRESULT CALLBACK ProcMain(HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lParam)
{
switch (Msg)
{
//訊息分流方式
HANDLE_MSG(hDlg,WM_COMMAND,Button_OnCommand);
//傳統方式
case WM_INITDIALOG:
break;
case WM_CLOSE:
PostQuitMessage(0);
break;
//case WM_COMMAND:
//按鈕會向父視窗發送WM_COMMAND訊息.參數:
//LOWORD(wParam) 為子視窗ID.
//HIWORD(wParam) 為通知碼.
//lParam 為子視窗控制代碼.
/*
switch (LOWORD(wParam))
{
case IDOK:
MessageBox(hDlg,L"Click Ok!",L"OK",NULL);
//EnableWindow ((HWND)lParam, FALSE);
break;
case IDCANCEL:
MessageBox(hDlg,L"Click Cancle!",L"CANCLE",NULL);
break;
}
*/
//break;
case WM_DESTROY:
PostQuitMessage(0);
break;
//default:
//return DefWindowProc(hDlg,Msg,wParam,lParam);
}
return 0;
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
{
DialogBoxParam(hInstance, MAKEINTRESOURCE(IDD_DIALOG1), NULL, (DLGPROC)ProcMain, 0);
return 0;
}