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

正文內容

第4章常用控件(編輯修改稿)

2024-11-16 13:38 本頁面
 

【文章內容簡介】 [確定 ]按鈕,出現(xiàn)如圖所示的消息對話框,顯示用戶選擇的內容。 編輯框的屬性和通知消息 用對話框編輯器可以方便地設置編輯框的屬性和風格。 編輯框的屬性對話框 : 表 編輯框的通知消息 通知消息 說 明 EN_CHANGE 當編輯框中的文本已被修改,在新的文本顯示之后發(fā)送此消息 EN_HSCROLL 當編輯框的水平滾動條被使用,在更新顯示之前發(fā)送此消息 EN_KILLFOCUS 編輯框失去鍵盤輸入焦點時發(fā)送此消息 EN_MAXTEXT 文本數(shù)目到達了限定值時發(fā)送此消息 EN_SETFOCUS 編輯框得到鍵盤輸入焦點時發(fā)送此消息 EN_UPDATE 編輯框中的文本已被修改,新的文本顯示之前發(fā)送此消息。 EN_VSCROLL 當編輯框的垂直滾動條被使用,在更新顯示之前發(fā)送此消息。 編輯框的屬性和通知消息 表 編輯框的 Style屬性 項 目 說 明 Align text 各行文本對齊方式: Left、 Center、 Right,默認時為 Left Multiline 選中時為多行編輯框,否則為單行編輯框 Number 選中時控件只能輸入數(shù)字 Horizontal scroll 水平滾動,僅對多行編輯框有效。 Auto HScroll 當用戶在行尾鍵入一個字符時,文本自動向右滾動。 Vertical scroll 垂直滾動,僅對多行編輯框有效 Auto VScroll 當用戶在最后一行按 ENTER鍵時,文本自動向上滾動一頁,僅對多行編輯框效 Password 選中時,鍵入編輯框的字符都將顯示為“ *”,僅對單行編輯框有效 No hide selection 通常情況下,當編輯框失去鍵盤焦點時,被選擇的文本仍然反色顯示。選中時, 不具備此功能 OEM convert 選中時,實現(xiàn)對特定字符集的字符轉換 Want return 選中時,用戶按下 ENTER鍵,編輯框中就會插入一個回車符 Border 選中時,在控件的周圍存在邊框 Uppercase 選中時,鍵入在編輯框的字符全部轉換成大寫形式 Lowercase 選中時,鍵入在編輯框的字符全部轉換成小寫形式 ReadOnly 選中時,防止用戶鍵入或編輯文本 編輯框的基本操作 1. 口令設置 口令設置在編輯框中不同于一般的文本編輯框,每個字符都被一個特殊的字符代替顯示,這個特殊的字符稱為口令字符。 void SetPasswordChar( TCHAR ch )。 參數(shù) ch表示設定的口 令字符;當 ch = 0時,編輯框內將顯示實際字符。 2. 選擇文本 當編輯框中編輯文本時,往往需要選定文本作為整體進行各種編輯操作。 用鼠標來選擇文本的操作方法是:在要選擇的文本的一端按下鼠標左鍵并拖動鼠標,到另一端釋放鼠標鍵。 用鍵盤來選擇文本的方法是:按光標方向移動鍵的同時,按住 Shift。 編輯框的基本操作 3. 設置編輯框的頁面邊距 設置編輯框的頁面邊距可以使文本在編輯框顯示更具滿意 效果,這在多行編輯框中尤為重要,應用程序可通過調用 成員函數(shù) CEdit::SetMargins來實現(xiàn),這個函數(shù)的原型如下: oid SetMargins( UINT nLeft, UINT nRight )。 參數(shù) nLeft和 nRight分別用來指定左、右邊距的像素大小。 4. 剪帖板操作 編輯框通過 CEdit類的 Copy、 Paste和 Cut成員函數(shù)來實現(xiàn) 文本的復制、粘貼、剪切的操作,并還自動支持鍵盤快捷 操作,其對應的快捷健分別為 Ctrl+C、 Ctrl+V和 Ctrl+X。若 應用程序調用 CEdit::Undo函數(shù)時,則還可撤消當前的操作, 調用一次該函數(shù),則恢復剛才的操作。例如下面的代碼: if (()) ()。 編輯框的基本操作 5. 獲取多行編輯框文本 一是使用 DDX/DDV,將編輯框控件所關聯(lián)的變量類型選 定為 CString 一種是使用編輯框 CEdit類的相關成員函數(shù)來獲取文本。 如,下面的代碼將顯示編輯框中第二行的文本內容: char str[100]。 if (()=2) // 判斷編輯框的文本是否是兩行以上 { int nChar nChars = ((1))。 // 獲取第二行文本的字符個數(shù) // 0表示第一行, 1表示第二行,依次類推。 LineIndex用于將文本行轉換成 // 能被 LineLength識別的索引 (1,str,nChars)。 // 獲取第二行文本 str[nChars] = 39。\039。 MessageBox(str)。 旋轉按鈕控件 “旋轉按鈕控件” 是一對箭頭按鈕,用戶點擊它們來增加或減小某個值,比如一個滾動位置或顯示在相應控件中的一個數(shù)字。 一個旋轉按鈕控件通常是與一個相伴的控件一起使用的,這個控件稱為“伙伴窗口”。 若相伴的控件的 Tab鍵次序剛好在旋轉按鈕控件的前面,則這時的旋轉按鈕控件可以自動定位在它的伙伴窗口的旁邊,看起來就象一個單一的控件。 點擊向上箭頭使當前位置向最大值方向移動,而點擊向下箭頭使當前位置向最小值的方向移動。 旋轉按鈕 伙伴窗口 旋轉按鈕控件的最小值是 100,最大值是 0。 旋轉按鈕控件 1. 旋轉按鈕控件常用的風格 (1) 旋轉按鈕控件有許多風格,它們都可以通過旋轉 按鈕控件屬性對話框進行設置,如圖所示,其中各項 的含義見表。 旋轉按鈕控件 ( 1) 旋轉按鈕控件的基本操作 MFC的 CSpinButtonCtrl類提供了旋轉按鈕控件的各種 操作函數(shù) ,使用它們可以進行基數(shù)、范圍、位置設置和獲取 等基本 操作。 int SetBase( int nBase )。 成員函數(shù) SetPos和 SetRange分別用來設置旋轉按鈕控 件的當前位置和范圍,它們的函數(shù)原型如下: int SetPos( int nPos )。 void SetRange( int nLower, int nUpper )。 ( 2)成員函數(shù) SetBase 的原型如下: (3) 旋轉按鈕控件的通知消息 旋轉按鈕控件的通知消息只有一個: UDN_DELTAPOS, 它是在當控件的當前數(shù)值將要改變時向其父窗口發(fā)送的。 示例:用對話框輸入學生成績 本例將用到靜態(tài)文本、編輯框、旋轉按鈕控件等控件。實現(xiàn)時,最關鍵的是如何將編輯框設置成旋轉按鈕控件的伙伴窗口。 示例:用對話框輸入學生成績 [例 Ex_Ctrl1SDI] 用對話框輸入學生成績 (1) 用 MFC AppWizard(exe)創(chuàng)建一個默認的單文檔應用程序Ex_Ctrl1SDI。 (2) 添加一個新的對話框資源,將 ID號改為 IDD_INPUT,標題 為“學生成績輸入”,將對話框字體改為“宋體, 9號”。將 [OK]和 [Cancel]按鈕標題改為“確定”和“取消”。 (3) 調整對話框的大小,將 [確定 ]和 [取消 ]按鈕移至對話框的下方,然后顯示對話框網(wǎng)格。 示例:用對話框輸入學生成績 (4) 向對話框添加如表所示的控件,調整控件的位置, 結果如圖 添加的控件 ID號 標 題 其他屬性 編輯框 IDC_EDIT_NAME —— 默認 編輯框 IDC_EDIT_NO —— 默認 編輯框 IDC_EDIT_S1 —— 默認 旋轉按鈕控件 IDC_SPIN_S1 —— Auto buddy, Right對齊 編輯框 IDC_EDIT_S2 —— 默認 旋轉按鈕控件 IDC_SPIN_S2 —— Auto buddy, Set buddy integer, Right對齊 編輯框 IDC_EDIT_S3 —— 默認 旋轉按鈕控件 IDC_SPIN_S3 —— Auto buddy, Set buddy integer, Right對齊 示例:用對話框輸入學生成績 (5) 選擇“編排” ? “ Tab Order”命令,或按快捷鍵 Ctrl+D,此時每個控件的左上方都有一個數(shù)字,表明了當前 Tab鍵次序,單擊對話框中的控件,重新設置控件的 Tab鍵次序,以保證旋轉按鈕控件的 Tab鍵次序在相對應的編輯框 (伙伴窗口 )之后,結果如圖所示,單擊對話框或按 Enter鍵結束 Tab Order 方式。 (6) 雙擊對話框模板空白處,為該對話框模板創(chuàng)建一個對話框類CInputDlg。 示例:用對話框輸入學生成績 2. 完善 CInputDlg類代碼 (1)在 MFC ClassWizard的 Member Variables頁面中,確定 Class name中是否已選擇了 CInputDlg,選中所需的控件 ID號,雙擊鼠標或單擊 Add Variables按鈕。 依次為表控件增加成員變量。 控件 ID號 變量類別 變量類型 變量名 范圍和大小 IDC_EDIT_NAME Value CString m_strName 20 IDC_EDIT_NO Value CString m_strNO 20 IDC_EDIT_S1 Value float m_fScore1 ~ IDC_SPIN_S1 Control CSpinButtonCtrl m_spinScore1 —— IDC_EDIT_S2 Value float m_fScore2 ~ IDC_SPIN_S2 Control CSpinButtonCtrl m_spinScore2 —— IDC_EDIT_S3 Value float m_fScore3 ~ IDC_SPIN_S3 Control CSpinButtonCtrl m_spinScore3 —— 示例:用對話框輸入學生成績 (2) 在 MFC ClassWizard的 Messsage Maps頁面中,為CInputDlg添加 WM_INITDIALOG消息映射,并添加下列代碼: BOOL CInputDlg::OnInitDialog() { CDialog::OnInitDialog()。 ( 0, 100 )。 // 設置旋按紐控件范圍 ( 0, 100 )。 ( 0, 100 )。 return TRUE。 // return TRUE unless you set the focus to a control } 示例:用對話框輸入學生成績 (3) 用 MFC ClassWizard為 CInputDlg增加 IDC_SPIN_S1 控件的 UDN_DELTAPOS消息映射,并添加下列代碼: void CInputDlg::OnDeltaposSpinS1(NMHDR* pNMHDR, LRESULT* pResult) { NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNMHDR。 UpdateData(TRUE)。 // 將控件的內容保存到變量中 m_fScore1 += (float)pNMUpDowniDelta * 。 if (m_fScore1) m_fScore1 = 。 if (m_fScore1) m_fScore1 = 。 UpdateData(FALSE)。 // 將變量的內容顯示在控件中 *pResult = 0。 } 示例:用對話框輸入學生成績 (1)打開Ex_Ctrl1SDI單文檔應用程序的菜單資源,添加頂層菜單 項“測試
點擊復制文檔內容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1