对话框
现在我们使用进度控件来创建一个对话框。我们首先添加一个菜单项和一个消息句柄来调用该对话框。以下是详细的操作步骤:
1. 在 IDR_MAINFRAME 菜单资源中添加一个新的弹出菜单,并命名为 Tools;
2. 在 Tools 弹出菜单中添加一个菜单项,命名为 Run WCE First Dialog;
3. 使用 ClassWizard 给新创建的 Run WCE First Dialog 菜单项添加一个命令句柄;
下面我们来添加一个对话框,将控件放入其中,并绑定该对话框到一个类。
4. 插入一个新的对话框资源,并设置其标题为 WCE First Dialog,资源标号为 IDD_FIRST_DLG;
5. 将 Ok 按钮的标题(caption)改为 Close;
6. 将 Cancel 按钮的标题改为 Start,并将其资源标号改为 IDB_START_BTN;
7. 从控件面板上拉下一个进度控件并放置到对话框中。不要修改该进度控件的风格(styles)、标题(caption)和资源标号(resource ids);
8. 根据掌上电脑的屏幕面积调整该对话框的大小,使之能在掌上电脑中正确显示。建议可以设为 196 x 47 象素大小;
9. 使用 ClassWizard 绑定该对话框资源到一个新的类:CWCEFirstDialog;
10. 创建完对话框类后,再使用 ClassWizard 来给进度控件添加一个成员变量,叫做 m_progressCtrl;
11. 为 Start 按钮添加一个命令按钮句柄;
现在你已经将所有的预备设置都添加到程序中去了。虽然我们所使用的进度显示控件和对话框并没有什么实际意义,但也能够满足我们的这个短小的入门教程的要求了。当我们选中 Run WCE First Dialog 菜单项时,对话框将显示出来;然后点击 Start 按钮,进度控件就会从0增长到30000,最后显示一个标准的 Windows 消息框;点击 Close 按钮将关闭该对话框。
为了设置进度指示器,你必须在对话框的 WM_INITDIALOG 消息句柄中设置进度值范围和步长。首先使用 ClassWizard 为 Windows 消息 WM_INITDIALOG 添加一个消息句柄。在 OnInitDialog() 函数中添加下列代码来设置进度指示器的范围和步长:
BOOL CWCEFirstDialog::OnInitDialog() |
下一步,当用户点击 Start 按钮时,进度控件的值要开始增长。在增长结束时,还要显示一个消息框。下列代码完成上述任务:
void CWCEFirstDialog::OnStartBtn() { for(int i = 0; i <=30000; i++) { m_progressCtrl.StepIt(); } AfxMessageBox(_T("Progress Complete!!!"), MB_OK); } |
完成以上代码后,你就可以运行你的程序看看效果了。