以上代碼的功能是將客戶區的背景設成黑色,并將位圖放置于屏幕中心。接下來我們將創建并添加菜單項和對話框。
對話框
現在我們使用進度控件來創建一個對話框。我們首先添加一個菜單項和一個消息句柄來調用該對話框。以下是詳細的操作步驟:
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() { CDialog::OnInitDialog();
m_progressCtrl.SetRange(0,30000); m_progressCtrl.SetStep(1);
return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }
|
下一步,當用戶點擊 Start 按鈕時,進度控件的值要開始增長。在增長結束時,還要顯示一個消息框。下列代碼完成上述任務:
void CWCEFirstDialog::OnStartBtn() { for(int i = 0; i <=30000; i++) { m_progressCtrl.StepIt(); }
AfxMessageBox(_T("Progress Complete!!!"), MB_OK); }
|
完成以上代碼后,你就可以運行你的程序看看效果了。