呵呵,其实基本的写写和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()
{
}