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

正文內(nèi)容

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

2024-10-11 13:38本頁面

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