ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:130.56KB ,
资源ID:11658676      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11658676.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(工学嵌入式系统11.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

工学嵌入式系统11.docx

1、工学嵌入式系统11课题实验十 编写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#defi

2、ne 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;/日志列表框句柄voi

3、d 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)

4、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;

5、case WM_CLOSE:EndDialog(hDlg, 0); break; case WM_COMMAND: wID = LOWORD(wParam);/控件标识 wNotifyCode = HIWORD(wParam);/控件事件标识 switch(wID) case IDC_CKLOG:/IDC_CKLOG复选框的事件处理 if(wNotifyCode = BN_CLICKED) if(SendMessage(GetDlgItem(hDlg, IDC_CKLOG), BM_GETCHECK, 0, 0) = BST_CHECKED/BST_CHECKED指的是IDC_CKLOG复选框

6、处于被选中状态;如果被选中的话,使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

7、(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(_

8、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); else return FALSE; break; case IDC_BTNADD:/IDC_BTNADD按钮事件处理 if(GetDlgItemText(hDlg, IDC_EDIT1, strT

9、ext, 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(GetD

10、lgItem(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

11、, 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); else OutputLog(_T(Check1 is unchecked); break; return FALSE; case IDC_RADIO1: cas

12、e 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 IDC_EDIT2: if(wNotifyCode = EN_CHANGE) if(GetDlgItemText(hDlg, IDC_EDIT2, strText, MAX_TEXT) 0) SetDlgItemText(hDlg, IDC_BUTTON1, strText); break; return FALSE; break; default: return FALSE; return TRUE;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1