MFC学习笔记3 Windows编程基础--DialogBox、回调、消息、控件
2017-11-22 13:27
627 查看
对话框
在资源里新建对话框:新建控件:
代码:定义回调函数
// test3.cpp : Defines the entry point for the application. // #include "stdafx.h" #include "resource.h" BOOL CALLBACK MainProc( HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) { return FALSE; } int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { // TODO: Place code here. DialogBox(hInstance,(LPCSTR)IDD_DIALOG1, NULL,MainProc); return 0; }
说明:
MainProc是消息回调函数,参数:
hwndDlg dialogbox的句柄
uMsg 消息类型
wParam 数据参数
lParam 第2个数据参数
代码: sprintf 在回调函数里输出参数值
sprintf 给字符串赋值
#include "stdio.h" BOOL CALLBACK MainProc( HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) { char s[256]; sprintf(s,"uMsg=%d,wParam=%d,lParam=%d \n", uMsg,wParam,lParam); OutputDebugString(s); return FALSE; }
示例:点击按钮事件
BOOL CALLBACK MainProc( HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) { char s[256]; sprintf(s,"uMsg=0x%x,wParam=%d,lParam=%d \n", uMsg,wParam,lParam); OutputDebugString(s); if(WM_COMMAND==uMsg){ if(LOWORD(wParam)==IDCANCEL){ EndDialog(hwndDlg,IDCANCEL); }else if(LOWORD(wParam)==IDOK){ MessageBox(hwndDlg,"click ok","title",0); } } return FALSE; }
示例:计算结果,控件取值赋值
BOOL CALLBACK MainProc( HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) { char s[256]; sprintf(s,"uMsg=0x%x,wParam=%d,lParam=%d \n", uMsg,wParam,lParam); OutputDebugString(s); if(WM_COMMAND==uMsg){ if(LOWORD(wParam)==IDCANCEL){ EndDialog(hwndDlg,IDCANCEL); }else if(LOWORD(wParam)==IDOK){ int nLeft = GetDlgItemInt(hwndDlg,IDC_LEFT,NULL,TRUE); int nRight = GetDlgItemInt(hwndDlg,IDC_RIGHT,NULL,TRUE); SetDlgItemInt(hwndDlg,IDC_RESULT,nLeft+nRight,TRUE); } } return FALSE; }
相关文章推荐
- MFC学习笔记之四————菜单编程与windows消息分类
- MFC学习笔记之四————菜单编程与windows消息分类
- MFC学习笔记2 Windows编程基础--MessageBox
- windows编程学习笔记(1)创建窗口与消息循环
- MFC学习笔记——CDialog(为控件添加消息处理函数)
- MFC学习笔记(1)——Windows程序基础
- MFC Windows编程基础( 学习记录2015.3)
- windows编程学习笔记之基础文字显示
- Windows编程基础学习笔记
- Windows编程基础--第12节 MFC之树控件CTreeCtrl
- Windows编程基础--第19节 MFC之自定义消息
- windows学习记录之MFC编程之自定义消息映射
- Windows编程基础--第13节 MFC之图片控件
- MFC学习笔记.day04-静态文本框, 检索控件句柄,UpdateData函数,七种编辑框加法编程
- Windows MFC控件消息编程
- Windows编程基础--第8节 MFC对话框控件访问的七种方法(上)
- Windows消息大全,MFC编程--控件类名
- [转载] MFC技术注意第62条的翻译:Windows 控件的消息反射
- Java面对对象编程---学习笔记(JAVA语言基础)
- VCL框架学习之:如何将Windows消息与控件事件挂接起来