WinCE下创建一个基于对话框的AppWinCE下创建一个基于对话框的App
创建一个基于对话框的应用程序
1. “File->New"创建一个新的Visual C++ Win32应用程序,
Empty Project;
2. New一个Resource File,named dialog.rc; 3. 右键dialog.rc,弹出菜单中选“Add resource...",New一个普通的dialog
; (资源)
4. 用资源编辑器编辑该资源文件,比如删除Cancel按钮,把OK按钮的caption
改成Send,添加两个edit控件,ID分别是:IDC...
WinCE下创建一个基于对话框的App
创建一个基于对话框的应用程序
1. “File->New"创建一个新的Visual C++ Win32应用程序,
Empty Project;
2. New一个Resource File,named dialog.rc; 3. 右键dialog.rc,弹出菜单中选“Add resource...",New一个普通的dialog
; (资源)
4. 用资源编辑器编辑该资源文件,比如删除Cancel按钮,把OK按钮的caption
改成Send,添加两个edit控件,ID分别是:IDC_SEND, IDC_SHOW; 5. 添加源文件main.cpp,代码见文后所附。这和一个最简单的Win32应用程
序hello相差无几。
(1) 首先,在WinMain函数里,用DialogBoxParam函数,根据资源文件
中dialog的ID(ID为IDD_DIALOG1)创建一个dialog,该dialog
也是一个窗口(Windows操作系统预定义的),其窗口函数是
MainDlgProc;
DialogBoxParam(hInstance,
(LPCWSTR)IDD_DIALOG1,
NULL,
(DLGPROC)MainDlgProc,
NULL);
(2) 下面要做的就是实现dialog的窗口函数MainDlgProc,该函数其实就是
处理发给它的各种消息。
(3) MainDlgProc窗口函数(回调函数)中,一个swich语句,处理的消息
分三类:
a. WM_INITDIALOG: 初始化窗口时收到的消息,做一些初始化工作;
b. WM_COMMAND: dialog中控件发给dialog的消息,通过检查
LOWORD(wParam)可以查出是发送消息的控件的ID,比如send
按钮的ID是IDOK,就可以做相应的处理了……
c. WM_CLOSE: 关闭该对话框
至此,该基于对话框的应用程序创建完毕,可以调试并运行了。
同学们可以此程序为
,添加代码,完成自己的作业。
具体细节参见:
Chapter 6,
rdProgramming Microsoft Windows CE .net" 3, Douglas Boling
附:main.cpp
#include
#include "resource.h"
BOOL MainDlgProc(HWND hWndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nShowCmd)
{
DialogBoxParam(hInstance, (LPCWSTR)IDD_DIALOG1, NULL, (DLGPROC)MainDlgProc, NULL);
return 0;
}
BOOL MainDlgProc(HWND hWndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) {
switch(uMsg)
{
case WM_INITDIALOG:
SetDlgItemText(hWndDlg, IDC_EDIT1, TEXT("the message to send"));
SetDlgItemText(hWndDlg, IDC_EDIT2, TEXT("sent and received messages"));
break;
case WM_COMMAND:
switch (LOWORD(wParam))
{
case IDOK:
SetDlgItemText(hWndDlg, IDC_EDIT1, TEXT("the sent message"));
MessageBox(hWndDlg, TEXT("the message has been sent."), TEXT("message sent"), MB_OK);
break;
// to be added:
// case IDCANCEL:
// handle the message from "CANCEL" button etc.
}
break;
case WM_CLOSE:
MessageBox(hWndDlg, TEXT("close dialog."), TEXT("close"), MB_OK);
EndDialog(hWndDlg, 0);
break;
default:
return FALSE;
}
return TRUE;
}
本文档为【WinCE下创建一个基于对话框的App】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。