- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
课题 实验十 编写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 windows.h
#include resource.h
#define MAX_TEXT 1024
BOOL 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 buf[256];
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 strText[MAX_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)
{
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复选框处于被选中状态;如果被选中的话,使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);
Enabl
文档评论(0)