[工学]嵌入式系统.doc_第1页
[工学]嵌入式系统.doc_第2页
[工学]嵌入式系统.doc_第3页
[工学]嵌入式系统.doc_第4页
[工学]嵌入式系统.doc_第5页
已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论