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()
{
}
当然,用来做开发的话,更多的细节上需要敲的代码会比较多。
//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()
{
}
相关文章推荐
- 【WIN32 SDK】使用模态对话框搭Win32程序框架
- 使用模态对话框搭Win32程序框架
- Win32汇编教程三 一个简单的对话框 --- 兼谈资源文件的使用
- Win32SDK基本 RC资源的使用
- Win32汇编--使用资源--对话框--在对话框中使用子窗口控件(2)
- Win32汇编教程三 一个简单的对话框 --- 兼谈资源文件的使用
- Win32汇编教程三 一个简单的对话框 --- 兼谈资源文件的使用
- [Win32汇编教程3-对话框和资源文件的使用]
- win32 SDK开发中打开 保存文件对话框的使用
- Win32汇编教程三:一个简单的对话框 --- 兼谈资源文件的使用
- vba使用win32 API(GetOpenFileName )实现打开文件对话框
- VS2005 添加Dialog资源时有些软件提供的对话框资源 怎样使用
- vba使用win32 API(GetOpenFileName )实现打开文件对话框
- 动态库中使用对话框资源
- vba使用win32 API(GetOpenFileName )实现打开文件对话框
- win32 014 使用ResEdit 资源编译器 可视化编程 资源的编写
- Win32 SDK 应用程序中使用XP控件外观(VS 2008)
- vba使用win32 API(GetOpenFileName )实现打开文件对话框
- SDK使用NinePatch(.9)资源
- 【win32 app调用html方法】VC6中使用CHtmlView在对话框控制中显示HTML文件