![[工学]嵌入式系统.doc_第1页](http://file.renrendoc.com/FileRoot1/2019-1/5/cecbc172-1c7e-434c-bcb7-06da65df6391/cecbc172-1c7e-434c-bcb7-06da65df63911.gif)
![[工学]嵌入式系统.doc_第2页](http://file.renrendoc.com/FileRoot1/2019-1/5/cecbc172-1c7e-434c-bcb7-06da65df6391/cecbc172-1c7e-434c-bcb7-06da65df63912.gif)
![[工学]嵌入式系统.doc_第3页](http://file.renrendoc.com/FileRoot1/2019-1/5/cecbc172-1c7e-434c-bcb7-06da65df6391/cecbc172-1c7e-434c-bcb7-06da65df63913.gif)
![[工学]嵌入式系统.doc_第4页](http://file.renrendoc.com/FileRoot1/2019-1/5/cecbc172-1c7e-434c-bcb7-06da65df6391/cecbc172-1c7e-434c-bcb7-06da65df63914.gif)
![[工学]嵌入式系统.doc_第5页](http://file.renrendoc.com/FileRoot1/2019-1/5/cecbc172-1c7e-434c-bcb7-06da65df6391/cecbc172-1c7e-434c-bcb7-06da65df63915.gif)
已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
青岛滨海学院教师教案 课题实验十 编写Dialog程序需 6课时教学目的要求教学重点教学难点教案编写日期2011年5月10日教学内容及教学过程提示与补充一、组织教学二、内容讲解10.1 实验目的 进一步熟悉EVC集成开发环境以及相关配置,掌握对话框应用程序的设计与实现。10.2 实验内容 编写Dialog应用程序10.3 实验设备 1. OURS-PXA270-RP实验箱,烧录有WinCE的Flash,交叉网线及USB延长线。 2. 安装Windows系统的PC机,EVC集成开发环境10.4 实验步骤 1. 硬件连接 2. 程序剖析 #include #include resource.h#define MAX_TEXT 1024BOOL CALLBACK DialogProc(HWND, UINT, WPARAM, LPARAM);/对话框窗口过程回调函数int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow)/程序入口return DialogBox(hInstance, MAKEINTRESOURCE(IDD_DIALOG1/对话框资源标识), NULL, DialogProc/对话框窗口过程);HWND hLogList;/日志列表框句柄void OutputLog(LPCTSTR lpFormat, .)/写日志函数va_list arg;TCHAR buf256;if(hLogList != NULL)va_start(arg, lpFormat);wvsprintf(buf, lpFormat, arg);va_end(arg);SendMessage(hLogList, LB_ADDSTRING/增加字符串事件, 0, (LPARAM)buf);BOOL CALLBACK DialogProc(HWND hDlg/对话框句柄, UINT uMsg, WPARAM wParam, LPARAM lParam)TCHAR strTextMAX_TEXT;WORD wID, wNotifyCode;DWORD nIndex; switch(uMsg)case WM_INITDIALOG:/对话框初始化消息SendMessage(GetDlgItem(hDlg, IDC_CKLOG)/根据对话框控件标识得到对话框上某控件的操作句柄, BM_CLICK/复选框单击事件, 0, 0);SendMessage(GetDlgItem(hDlg, IDC_CHECK1), BM_CLICK, 0, 0);OutputLog(_T(initialization dialog done);break;case WM_CLOSE:EndDialog(hDlg, 0);break;case WM_COMMAND:wID = LOWORD(wParam);/控件标识wNotifyCode = HIWORD(wParam);/控件事件标识switch(wID)IDC_EDIT2IDC_LISTLOGIDC_BTNCLEARIDC_CKLOGIDC_STATICIDC_BUTTON1IDC_RADIO2IDC_RADIO1IDC_CHECK1IDC_BTNDELIDC_BTNADDIDC_EDIT1IDC_LIST1case IDC_CKLOG:/IDC_CKLOG复选框的事件处理if(wNotifyCode = BN_CLICKED)if(SendMessage(GetDlgItem(hDlg, IDC_CKLOG), BM_GETCHECK, 0, 0) = BST_CHECKED/ BST_CHECKED指的是IDC_CKLOG复选框处于被选中状态;如果被选中的话,使IDC_LISTLOG列表框与IDC_BTNCLEAR可用(Enable))hLogList = GetDlgItem(hDlg, IDC_LISTLOG);EnableWindow(hLogList, TRUE);EnableWindow(GetDlgItem(hDlg, IDC_BTNCLEAR), TRUE);Else/如果IDC_CKLOG未被选中,则使IDC_LISTLOG列表框与IDC_BTNCLEAR不可用。EnableWindow(GetDlgItem(hDlg, IDC_BTNCLEAR), FALSE);EnableWindow(hLogList, FALSE);hLogList = NULL;break;return FALSE;case IDC_BTNCLEAR:/IDC_BTNCLEAR按钮的事件处理if(hLogList != NULL)while(SendMessage(hLogList, LB_DELETESTRING/循环删除日志列表框的字符串, (WPARAM)0, 0) != LB_ERR);break;case IDC_LIST1:/IDC_LIST列表框的事件处理if(wNotifyCode = LBN_SELCHANGE)/列表框选择项发生变化事件处理OutputLog(_T(选择第%d项), SendMessage(GetDlgItem(hDlg, IDC_LIST1), LB_GETCURSEL, 0, 0);else if(wNotifyCode = LBN_DBLCLK)/列表框双击事件处理OutputLog(_T(双击第%d项), SendMessage(GetDlgItem(hDlg, IDC_LIST1), LB_GETCURSEL, 0, 0);elsereturn FALSE;break;case IDC_BTNADD:/IDC_BTNADD按钮事件处理if(GetDlgItemText(hDlg, IDC_EDIT1, strText, MAX_TEXT) 0)/返回对话框子控件的文本SendMessage(GetDlgItem(hDlg, IDC_LIST1), LB_ADDSTRING, 0, (LPARAM)strText);/将文本内容追加到IDC_LIST1列表框内OutputLog(_T(单击Add按钮);break;case IDC_BTNDEL:/IDC_BTNDEL按钮事件处理nIndex = SendMessage(GetDlgItem(hDlg, IDC_LIST1), LB_GETCURSEL, 0, 0);if(nIndex != LB_ERR)SendMessage(GetDlgItem(hDlg, IDC_LIST1), LB_DELETESTRING, (WPARAM)nIndex, 0);OutputLog(_T(单击Delete按钮);break;case IDC_CHECK1:/IDC_CHECK1复选框事件处理if(wNotifyCode = BN_CLICKED)BOOL bEnab = FALSE;if(SendMessage(GetDlgItem(hDlg, IDC_CHECK1), BM_GETCHECK, 0, 0) = BST_CHECKED)bEnab = TRUE;EnableWindow(GetDlgItem(hDlg, IDC_RADIO1), bEnab);EnableWindow(GetDlgItem(hDlg, IDC_RADIO2), bEnab);EnableWindow(GetDlgItem(hDlg, IDC_BUTTON1), bEnab);EnableWindow(GetDlgItem(hDlg, IDC_EDIT2), bEnab);if(bEnab)OutputLog(_T(Check1 is checked);elseOutputLog(_T(Check1 is unchecked);break;return FALSE;case IDC_RADIO1:case IDC_RADIO2:if(wNotifyCode = BN_CLICKED)if(SendMessage(GetDlgItem(hDlg, IDC_RADIO1), BM_GETCHECK, 0, 0) = BST_CHECKED)OutputLog(_T(Radio1 is checked);else if(SendMessage(GetDlgItem(hDlg, IDC_RADIO2), BM_GETCHECK, 0, 0) = BST_CHECKED)OutputLog(_T(Radio2 is checked);break;return FALSE;case ID
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025国家自然科学基金委员会公开选聘流动编制10人模拟试卷及完整答案详解
- 2025年厦门市供电服务有限公司招聘12人考前自测高频考点模拟试题及完整答案详解一套
- 2025年浙江大学医学院附属第二医院招聘心电图室工作人员若干人考前自测高频考点模拟试题及答案详解(名师系列)
- 2025辽宁锦州医科大学开展“锦医英才计划”医学名家遴选考前自测高频考点模拟试题参考答案详解
- 2025年上海奉贤区教育系统事业单位编外用工招聘143名模拟试卷含答案详解
- 信息系统稳定保障承诺书9篇
- 2025年阜阳民生医院招聘20人模拟试卷附答案详解(模拟题)
- 2025年济南水务集团员工招聘初审模拟试卷及答案详解(夺冠系列)
- 企业成本节约策略及管理模板
- 2025年度湖北省招募选派三支一扶高校毕业生2000人考前自测高频考点模拟试题(含答案详解)
- 2022智慧园区设计、建设与验收技术规范
- 自备车补贴申请表
- 信息论与编码(第4版)完整全套课件
- 汽修厂安全风险分级管控清单
- GB/T 2679.7-2005纸板戳穿强度的测定
- GB/T 25840-2010规定电气设备部件(特别是接线端子)允许温升的导则
- GB/T 25146-2010工业设备化学清洗质量验收规范
- 参考资深同传
- 多功能注氧仪说明书课件
- 科隆电磁流量计培训课件
- 全集举一反三课件奥数五年级(数学)
评论
0/150
提交评论