freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

人教版信息技術(shù)九年第18課使用通用對話框控件1-資料下載頁

2024-11-26 17:52本頁面

【導(dǎo)讀】Cdialog基類既支持模式對話框,也支持無模式對話框。說,是在同一用戶接口線程里)的其他地方進(jìn)行工作;而對于無模式對話框,在它仍然保留在屏幕上的同時,我們的編程負(fù)擔(dān)。這些對話框控件既可以通過CWnd的指針來。中所制定的索引值來引用。按下了鼠標(biāo)鍵等。按鈕Cbutton用來產(chǎn)生某種行為的按鈕,標(biāo)題頭CHeaderCtrl位于某一行文本之上的按鈕,對話框編輯器會對項目的資源文件進(jìn)行更。將它和第一步所創(chuàng)建的資源相連接。入相應(yīng)的代碼和頭文件。交換函數(shù)和確認(rèn)函數(shù)。OnInitDialog)及消息控制函數(shù)進(jìn)行編輯。我們不準(zhǔn)備在一些小的對話框上浪費(fèi)時間,1.運(yùn)行AppWizard來產(chǎn)生名為EXA的項目。(insert菜單,選擇Resource,選擇。Name字段的靜態(tài)文本控件。Hourly和Salary單選按鈕。Lang(語言)組合框。話框編輯器中被選中。(ClassWizard會詢問是否加入

  

【正文】 ARAM lParam) ? { // message received in response to modeless dialog OK ? // and Cancel buttons ? TRACE(CEx07aView::OnGoodbye %x, %lx\n, wParam, lParam)。 ? TRACE(Dialog edit1 contents = %s\n, ? (const char*) m_pDlgm_strEdit1)。 ? m_pDlgDestroyWindow()。 ? return 0L。} ? afx_msg LRESULT OnGoodbye(WPARAM wParam, LPARAM lParam)。 ? 。 ? 請編譯并運(yùn)行 EX07A。 試著按下鼠標(biāo)的左鍵,然后再按下它的右鍵(在按鼠標(biāo)右鍵時,鼠標(biāo)指針一定要在對話框窗口的外面) 再輸入一些數(shù)據(jù),然后單擊對話框 OK按鈕,此時視圖的 TRACE語句是否正確地列出了編輯控件的內(nèi)容? ? 如果需要創(chuàng)建一個基于無模式對話框的應(yīng)用程序的話, CFormView類可以為我們提供極大的方便。當(dāng) CFormView類和Cdocument類配合使用時,它能發(fā)揮更大的作用。 Windows通用對話框 ? 直接使用 CFileDialog類 ? 利用 CFileDialog類打開文件是一件非常容易的事情。下面給出了將某文件打開的一些代碼。 ? CFileDialog dlg(TRUE,”Bmp”,”*.bmp”)。 ? If(()==IDOK){ ? Cfile file。 ? VERFY(((),Cflie::modeRead))。 ? } ? 從通用對話框類進(jìn)行派生 ? 在大多情況下,我們可以直接利用通用對話框類,然而,如果從通用對話框類進(jìn)行派生的話,則不必對代碼進(jìn)行復(fù)制我們就能夠獲得一些新的特性。不過每一個 COMDLG32對話框使用時都有一些區(qū)別。 ? 嵌套對話框 ? Win32提供了一種方法,可以把一個對話框“嵌入”另一個對話框里,多個對話框顯示時就像一個無縫的整體。我們必須首先創(chuàng)建一個對話框資源模板,其中有一個“洞” ——典型的情況時一個分組框控件 ——并賦一個特殊的子窗口 ID stc32(=0x045f)。在程序里設(shè)置一些參數(shù)告訴 COMDLG32使用創(chuàng)建的模板。另外程序還必須截住 COMDLG32的消息循環(huán),以便搶先選擇通知。當(dāng)做完這些后,就可以發(fā)現(xiàn)我們已經(jīng)建立了一個 COMDLG32對話框窗口的子對話框窗口,即使我們的模板覆蓋了 COMDLG32的模板。 ? 使用 CFileDialog的一個例子 ——EX07B ? AppWzard來創(chuàng)建 \vcpp32\ex07b\ex07b。 ? 選擇 Single Document和取消對 Printing And Print Preview的選擇。 ? 。 ? ClassWizard來創(chuàng)建 CSpecialFileDialog類。 ? ? 加入兩個公有數(shù)據(jù)成員: ? CString m_strFilename。 ? BOOL m_bDeleteAll。 ? 編輯構(gòu)造函數(shù)聲明 ? CSpecialFileDialog(BOOL bOpenFileDialog, // TRUE for FileOpen, FALSE for FileSaveAs ? LPCTSTR lpszDefExt = NULL, ? LPCTSTR lpszFileName = NULL, ? DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, ? LPCTSTR lpszFilter = NULL, ? CWnd* pParentWnd = NULL)。 ? CFileDialog替換Cdialog。 ? CSpecFileDialog類的構(gòu)造函數(shù)進(jìn)行編輯。CSpecialFileDialog::CSpecialFileDialog(BOOL bOpenFileDialog, ? LPCTSTR lpszDefExt, LPCTSTR lpszFileName, DWORD dwFlags, ? LPCTSTR lpszFilter, CWnd* pParentWnd) ? : CFileDialog(bOpenFileDialog, lpszDefExt, lpszFileName, ? dwFlags, lpszFilter, pParentWnd) |= OFN_ENABLETEMPLATE。 = MAKEINTRESOURCE(IDD_FILESPECIAL)。 = Delete File。 m_bDeleteAll = FALSE。 CSpecialFileDialog類中映射 WM_INITDIALOG 消息。 BOOL CSpecialFileDialog::OnInitDialog() { BOOL bRet = CFileDialog::OnInitDialog()。 if (bRet == TRUE) { GetParent()GetDlgItem(IDOK)SetWindowText(Delete)。 } return bRet。 } ? CSpecialDialog類中映射新的 IDC_DELETE按鈕( Delete All Matching File)。 ? void CSpecialFileDialog::OnDelete() ? { ? m_bDeleteAll = TRUE。 // 0x480 is the child window ID of the File Name edit control // (as determined by SPYXX) ? GetParent()GetDlgItem(0x480)GetWindowText(m_strFilename)。 ? GetParent()SendMessage(WM_COMMAND, IDCANCEL)。 ? } ? OnDraw中加進(jìn)一些代碼 . ? void CEx07bView::OnDraw(CDC* pDC) ? { ? pDCTextOut(0, 0, Press the left mouse button here.)。 ? } ? ex07bView類中加進(jìn) OnLButtonDown消息控制函數(shù)。 ? void CEx07bView::OnLButtonDown(UINT nFlags, CPoint point) ? { CSpecialFileDialog dlgFile(TRUE, NULL, *.obj)。 ? CString strMessage。 ? int nModal = ()。 ? if ((nModal == IDCANCEL) amp。amp。 ()) { ? ( ? Are you sure you want to delete all %s files?, ? )。 ? if (AfxMessageBox(strMessage, MB_YESNO) == IDYES) { ? HANDLE h。 ? WIN32_FIND_DATA fData。 ? while((h = ::FindFirstFile(, amp。fData)) ? != (HANDLE) 0xFFFFFFFF) { // no MFC equivalent ? if (::DeleteFile() == FALSE) { ? (Unable to delete file %s\n, ? )。 ? AfxMessageBox(strMessage)。 ? break。}}}} ? else if (nModal == IDOK) { ? CString strSingleFilename = ()。 ? ( ? Are you sure you want to delete %s?, strSingleFilename)。 ? if (AfxMessageBox(strMessage, MB_YESNO) == IDYES) { ? CFile::Remove(strSingleFilename)。 ? }}} ? 。 ? 編譯并運(yùn)行 EX07B。 然后,按下鼠標(biāo)的左鍵,屏幕上就應(yīng)該彈出 DeleteFile對話框,然后,您就可以利用它穿梭于磁盤的各個目錄之間來進(jìn)行文件刪除。小心不要刪除您磁盤上重要的文件。 ? CFileDialog的其他可定制特性 ? 在 EX07B示例程序中,我們在對話框里加了一個按鈕。當(dāng)然我們也可以很容易地添加其他的控件。只要把它們放到資源模板里,如果它們時標(biāo)準(zhǔn)的 Windows控件(如編輯控件或列表框)的話,我們就可以用 ClassWiard在派生類中加入數(shù)據(jù)成員和 DDX /DDV代碼??蛻舫绦蚩梢栽谡{(diào)用 DoModal之前設(shè)置數(shù)據(jù)成員,并可以在DoModal返回后得到修改的數(shù)據(jù)。 Windows通用對話框
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1