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

正文內(nèi)容

第4章常用控件-資料下載頁

2025-10-02 13:38本頁面

【導(dǎo)讀】標(biāo)簽控件CTabCtrl類似于一個(gè)筆記本的分隔器或一個(gè)文件柜上的標(biāo)簽,使用它可以將一個(gè)窗口或?qū)υ捒虻南嗤瑓^(qū)域定義為多個(gè)頁面?!靶陆ā辈藛?,在彈出的“新建”對(duì)話框中單擊??虻膽?yīng)用程序項(xiàng)目。將項(xiàng)目工作區(qū)切換到ClassView頁面,展開CEx_DlgCtrlsDlg類,右擊CEx_DlgCtrlsDlg類名,彈出如圖所示的快捷菜單。定義的CButton類對(duì)象名m_btnWnd。類中添加該成員變量。編譯并運(yùn)行,結(jié)果如圖所示。種方法,即在對(duì)話框模板中用編輯器指定控件。應(yīng)用程序創(chuàng)建一般控件或公共控件之后,當(dāng)控件的狀態(tài)發(fā)生改變時(shí),控件就會(huì)向其父窗口發(fā)送消息,這個(gè)消息稱為“通知消息”。程是對(duì)新添加的按鈕控件映射BN_CLICKED(單擊)消息。刪除“TODO:在這里設(shè)置對(duì)話控制?!睌?shù)的名稱,系統(tǒng)默認(rèn)的函數(shù)名為OnButton1。functions”列表中將列出新增加的成員函數(shù)。MessageBox("你按下了\"Button1\"按鈕!有項(xiàng),雙擊CEx_DlgCtrlsDlg類的源文件,

  

【正文】 g::OnButtonAdd() { if (!IsValidate()) return。 int nIndex = ( 1, m_strCity )。 if (nIndex != LB_ERR ){ MessageBox(該城市已添加! )。 return。 } nIndex = ( m_strCity )。 ( nIndex, m_dwZipCode )。 } 示例:城市郵政編碼 (6) 用 MFC ClassWizard為按鈕 IDC_BUTTON_DEL添加BN_CLICKED的消息映射,并增加下列代碼: void CCityDlg::OnButtonDel() { int nIndex = ()。 if (nIndex != LB_ERR ){ ( nIndex )。 } else GetDlgItem(IDC_BUTTON_DEL)EnableWindow( FALSE )。 } 示例:城市郵政編碼 (7) 用 MFC ClassWizard為列表框 IDC_LIST1添加 N_SELCHANGE 的消息映射,并增加下列代碼。將會(huì)在編輯框中顯示出城市名和郵政編碼。 void CCityDlg::OnSelchangeList1() { int nIndex = ()。 if (nIndex != LB_ERR ){ ( nIndex, m_strCity )。 m_dwZipCode = ( nIndex )。 UpdateData( FALSE )。 // 使用當(dāng)前列表項(xiàng)所關(guān)聯(lián)的內(nèi)容顯示在控件上 GetDlgItem(IDC_BUTTON_DEL) EnableWindow( TRUE )。 } } 示例:城市郵政編碼 2. 調(diào)用對(duì)話框 (1) 打開 Ex_Ctrl2SDI單文檔應(yīng)用程序的菜單資源,添加頂層菜單項(xiàng)“測(cè)試 (amp。T)”,在其下添加一個(gè)菜單項(xiàng)“城市郵政編碼 (amp。C)”,ID為 ID_TEST_CITY。 (2) 用 MFC ClassWizard為 CMainFrame類添加菜單項(xiàng)ID_TEST_CITY的 COMMAND消息映射,取默認(rèn)的映射函數(shù)名,并添加下列代碼: void CMainFrame::OnTestCity() { CCityDlg dlg。 ()。 } (3) 在文件 CCityDlg類的頭文件包含: include include (4) 編譯運(yùn)行后,在應(yīng)用程序的菜單上,選擇“測(cè)試” ? “城市郵政編碼”菜單項(xiàng)。 組合框的風(fēng)格類型和消息 按照組合框的主要風(fēng)格特征,可把組合框分為三類:簡(jiǎn)單組合框、下拉式組合框、下拉式列表框。 簡(jiǎn)單組合框中的列表框不要下拉,用戶單擊下拉式組合框中的下拉按鈕時(shí),下拉的列表框才顯示出來。 組合框還有其他一些風(fēng)格,這些風(fēng)格可在圖所示的組合框的屬性對(duì)話框中設(shè)置。 組合框的風(fēng)格類型和消息 組合框?qū)傩詫?duì)話框中, Data標(biāo)簽頁面直接輸入組合框的數(shù)據(jù)項(xiàng),輸入一條數(shù)據(jù)項(xiàng)后,按 Ctrl+Enter快捷鍵可繼續(xù)輸入數(shù)據(jù)項(xiàng)。 項(xiàng) 目 說 明 類型 (Type) 設(shè)置組合框的類型: Simple(簡(jiǎn)單 )、 Dropdown(下拉 )、 Drop List(下拉列框 )。 Owner draw 自畫組合框,默認(rèn)為 No Has strings 選中時(shí),在自畫組合框中的項(xiàng)目中含有字符串文本 Sort 選中時(shí),組合框的項(xiàng)目按字母順序排列 Vertical scroll 選中時(shí),在組合框中創(chuàng)建一個(gè)垂直滾動(dòng)條 No integral height 選中時(shí),在創(chuàng)建組合框的過程中,系統(tǒng)會(huì)把用戶指定的尺寸完全作為組合框 尺寸,而不管是否會(huì)有項(xiàng)目在組合框中的列表中不能完全顯示出來 OEM convert 選中時(shí),實(shí)現(xiàn)對(duì)特定字符集的字符轉(zhuǎn)換 Auto HScroll 當(dāng)用戶在行尾鍵入一個(gè)字符時(shí),文本自動(dòng)向右滾動(dòng)。 Disable no scroll 選中時(shí),即使組合框的列表項(xiàng)能全部顯示,垂直滾動(dòng)條也會(huì)顯示,但此時(shí)是 用的 (灰顯 )。 Uppercase 選中時(shí),鍵入在編輯框的字符全部轉(zhuǎn)換成大寫形式 Lowercase 選中時(shí),鍵入在編輯框的字符全部轉(zhuǎn)換成小寫形式 組合框的風(fēng)格類型和消息 組合框的通知消息中,有的是列表框發(fā)出的,有的是編輯框發(fā)出的,如表 : 組合框的通知消息 通知消息 說 明 CBN_CLOSEUP 當(dāng)組合框的列表關(guān)閉時(shí)發(fā)送此消息 CBN_DBLCLK 用戶雙擊組合框的某項(xiàng)字符串時(shí)發(fā)送此消息 CBN_DROPDOWN 當(dāng)組合框的列表打開時(shí)發(fā)送此消息 CBN_EDITCHANGE 同編輯框的 EN_CHANGE消息 CBN_EDITUPDATE 同編輯框的 EN_UPDATE消息 CBN_SELENDCANCEL 當(dāng)前選擇項(xiàng)被取消時(shí)發(fā)送此消息 CBN_SELENDOK 當(dāng)用戶選擇一個(gè)項(xiàng)并按下 ENTER鍵或單擊下拉箭頭 (? )隱藏 表框時(shí)發(fā)送此消息。 CBN_KILLFOCUS 組合框失去鍵盤輸入焦點(diǎn)時(shí)時(shí)發(fā)送此消息 CBN_SELCHANGE 組合框中的當(dāng)前選擇項(xiàng)將要改變時(shí)發(fā)送此消息 CBN_SETFOCUS 組合框獲得鍵盤輸入焦點(diǎn)時(shí)發(fā)送此消息 組合框常見操作 組合框的操作分兩類:一類是對(duì)組合框中列表框進(jìn)行操作 一類是對(duì)組合框中編輯框進(jìn)行操作 這些操作都可以調(diào)用 CComboBox成員函數(shù)來實(shí)現(xiàn)。 成員函數(shù) 作 用 說 明 int AddString( LPCTSTR lpszString )。 向組合框添加字符串 錯(cuò)誤時(shí)返回 CB_ERR;空間不夠時(shí),返回 CB_ERRSPACE int DeleteString( UINT nIndex ) 刪除指定的索引項(xiàng) 返回剩下的列表項(xiàng)總數(shù),錯(cuò)誤時(shí)返回 CB_ERR int InsertString( int nIndex, LPCTSTR lpszString) 在指定的位置處插入字符串,若nIndex=1時(shí),向組合框尾部添加。 返回插入字符串的索引,錯(cuò)誤時(shí)返回 CB_ERR;空間不夠時(shí),返回 CB_ERRSPACE void ResetContent( )。 刪除組合框的全部項(xiàng)和編輯文本 int FindString( int nStartAfter, LPCTSTR lpszString) const。 查找字符串 參數(shù) 1=搜索起始項(xiàng)的索引, 1時(shí)從頭開始,參數(shù) 2=被搜索字符串 int FindStringExact( int nIndexStart, LPCTSTR lpszFind ) const; 精確查找字符串 返回匹配項(xiàng)的索引,錯(cuò)誤時(shí)返回CB_ERR。 int SelectString( int nStartAfter, LPCTSTR lpszString)。 選定指定字符串 返回選擇項(xiàng)的索引,若當(dāng)前選擇項(xiàng)沒有改變則返回 CB_ERR。 組合框常見操作 int GetCurSel( ) const。 獲得當(dāng)前選擇項(xiàng)的索引 當(dāng)沒有當(dāng)前選擇項(xiàng)時(shí)返回CB_ERR。 int SetCurSel( int nSelect )。 設(shè)置當(dāng)前選擇項(xiàng) 參數(shù)為當(dāng)前選擇項(xiàng)的索引, 1時(shí),沒有選擇項(xiàng)。錯(cuò)誤時(shí)返回CB_ERR。 int GetCount( ) const。 獲取組合框的項(xiàng)數(shù) 錯(cuò)誤時(shí)返回 CB_ERR int SetDroppedWidth( UINT nWidth )。 設(shè)置下拉組合框的最小像素寬度 成功時(shí),返回新的組合框?qū)挾?,否則返回 CB_ERR。 int SetItemData( int nIndex, DWORD dwItemData )。 將一個(gè) 32位值和指定列表項(xiàng)關(guān)聯(lián) 錯(cuò)誤時(shí)返回 CB_ERR int SetItemDataPtr( int nIndex, voidpData )。 將一個(gè)值的指針和指定列表項(xiàng)關(guān)聯(lián)。 錯(cuò)誤時(shí)返回 CB_ERR DWORD GetItemData( int nIndex ) const。 獲取和指定列表項(xiàng)關(guān)聯(lián)的一個(gè) 32位值 錯(cuò)誤時(shí)返回 CB_ERR void* GetItemDataPtr( int nIndex ) const。 獲取和指定列表項(xiàng)關(guān)聯(lián)的一個(gè)值的指針 錯(cuò)誤時(shí)返回 1 int GetLBText( int nIndex, LPTSTR lpszText )。 void GetLBText( int nIndex, CStringamp。 rString )。 獲取指定項(xiàng)的字符串 返回字符串的長(zhǎng)度,若每一個(gè)參數(shù)無效時(shí)返回 CB_ERR int GetLBTextLen( int nIndex ) const; 獲取指定項(xiàng)的字符串長(zhǎng)度 若參數(shù)無效時(shí)返回 CB_ERR 示例:城市郵政編碼和區(qū)號(hào) 城市名還和區(qū)號(hào)一一對(duì)應(yīng),為此本例需要設(shè)計(jì)這樣的對(duì)話框 單擊 [添加 ]按鈕將城市名、郵政編碼和區(qū)號(hào)添加到組合框中,在添加前同樣需要進(jìn)行重復(fù)性的判斷。 SetItemDataPtr關(guān)聯(lián)的是一個(gè)數(shù)據(jù)指針,用 new運(yùn)算符為要關(guān)聯(lián) 的數(shù)據(jù)分配內(nèi)存,同時(shí)在對(duì)話框即將關(guān)閉時(shí),需要用 delete運(yùn)算符來釋放組合框中的項(xiàng)所關(guān)聯(lián)所有數(shù)據(jù)的內(nèi)存空間。 示例:城市郵政編碼和區(qū)號(hào) [例 Ex_Ctrl3SDI] 創(chuàng)建并使用城市郵政編碼和區(qū)號(hào)對(duì)話框 (1) 用 MFC AppWizard(exe)創(chuàng)建一個(gè)默認(rèn)的單文檔應(yīng)用程序 Ex_Ctrl3SDI。 (2) 向應(yīng)用程序中添加一個(gè)對(duì)話框資源 IDD_CITYZONE,標(biāo)題定為“城市郵政編碼和區(qū)號(hào)”,字體設(shè)為“宋體, 9號(hào)”,創(chuàng)建此對(duì)話框類為CCityZoneDlg。 (3) 刪除原來的 [Cancel]按鈕,將 [OK]按鈕標(biāo)題改為“退出”。 (4) 打開對(duì)話框網(wǎng)格,參看圖 ,為對(duì)話框添加如表所示的一些控件。 添加的控件 ID號(hào) 標(biāo) 題 其他屬性 組合框 IDC_COMBO1 —— 默認(rèn) 編輯框 (郵政編碼 ) IDC_EDIT_ZIP —— 默認(rèn) 編輯框 (區(qū)號(hào) ) IDC_EDIT_ZONE —— 默認(rèn) 按鈕 (添加 ) IDC_BUTTON_ADD 添加 默認(rèn) 按鈕 (修改 ) IDC_BUTTON_CHANGE 修改 默認(rèn) 示例:城市郵政編碼和區(qū)號(hào) 在組合框添加到對(duì)話框模板后,一定要單擊組合框的下拉按鈕 ,然后調(diào)整出現(xiàn)的下拉框大小,組合框可能因?yàn)橄吕蛱《鵁o法顯示其下拉列表項(xiàng)。 下拉框 2. 完善 CCityZoneDlg類代碼 (1) 打開 MFC ClassWizard的 Member Variables頁面,看 Class name是否是 CCityZoneDlg,然后選中所 (需的控件 ID 號(hào),雙擊鼠標(biāo)或單擊 Add Variables按鈕。依次為下列控件增 加成員變量。 示例:城市郵政編碼和區(qū)號(hào) 控件 ID號(hào) 變量類別 變量類型 變量名 范圍和大小 IDC_COMBO1 Control CComboBox m_ComboBox —— IDC_COMBO1 Value CString m_strCity 20 IDC_EDIT_ZONE Value CString m_strZone 10 IDC_EDIT_ZIP Value CString m_strZip 6 控件變量 (2) 將項(xiàng)目工作區(qū)切換到 ClassView頁面,右擊 CCityZoneDlg類名,從彈出的快捷菜單中選擇“ Add Member Function”,彈出 Add Member Function對(duì)話框,在 Function Type(函數(shù)類型 )框中輸入 BOOL,在Function Declaration(函數(shù)聲明 )框中輸入 sValidate,單擊 [OK]按鈕。 示例:城市郵政編碼和區(qū)號(hào) (3) 在 CCityZoneDlg::IsValidate函數(shù)輸入下列代碼: BOOL CCityZoneDlg::IsValidate() { UpdateData()。 ()。 if (()){ MessageBox(城市名輸入無效! )。 return FALSE。 } ()。 If (()) { MessageBox(郵政編碼輸入無效! )。 return FALSE。 } ()。 if (()) { MessageBox(區(qū)號(hào)輸入無效
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1