您的位置:首页 > 其它

win32 SDK模态对话框一例(使用资源)

2013-03-13 11:13 337 查看
呵呵,其实基本的写写和MFC区别不大,当然,速度上会比MFC有点优势。

当然,用来做开发的话,更多的细节上需要敲的代码会比较多。

//main.h

#include <Windows.h>

#include "resource.h"

#include <stdio.h>

BOOL OnInitDialog();

BOOL OnCommand(HWND hWnd, WPARAM wParam, LPARAM lParam);

void OnOK();

void OnCancel();

void OnDestroy();

//main.cpp

#include "main.h"

HWND m_hWnd = NULL;

BOOL CALLBACK DlgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)

{

switch(uMsg)

{

case WM_INITDIALOG:

m_hWnd = hWnd;

return OnInitDialog();

case WM_CLOSE:

return EndDialog(hWnd, 0);

case WM_DESTROY:

OnDestroy();

break;

case WM_COMMAND:

return OnCommand(hWnd, wParam, lParam);

}

return FALSE;

}

int WINAPI WinMain(

HINSTANCE hInstance,

HINSTANCE hPrevInstance,

LPSTR lpCmdLine,

int nCmdShow)

{

int nRet = DialogBox(hInstance, MAKEINTRESOURCE(IDD_DIALOG1), NULL, DlgProc);

return 0;

}

BOOL OnInitDialog()

{

HICON hIcon = LoadIcon(GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_ICON1));

SendMessage(m_hWnd, WM_SETICON, TRUE, (LPARAM)hIcon);

SendMessage(m_hWnd, WM_SETICON, FALSE, (LPARAM)hIcon);

return TRUE;

}

BOOL OnCommand(HWND hWnd, WPARAM wParam, LPARAM lParam)

{

switch(LOWORD(wParam))

{

case IDOK:

OnOK();

EndDialog(hWnd, IDOK);

break;

case IDCANCEL:

OnCancel();

EndDialog(hWnd, IDCANCEL);

break;

}

return TRUE;

}

void OnOK()

{

}

void OnCancel()

{

}

void OnDestroy()

{

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: