資源描述:
《清華大學(xué)c++和vc++課件vc_3_14a》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、面向?qū)ο笈c可視化程序設(shè)計(jì)--VisualC++編程主講教師:唐龍教授(計(jì)算機(jī)科學(xué)與技術(shù)系)黃維通博士(計(jì)算機(jī)與信息管理中心)清華大學(xué)2001年11月6/15/20211第十四章按鈕類與列表框類及其應(yīng)用6/15/20212內(nèi)容提要按鈕控件及其方法列表框控件及其方法按鈕控件的應(yīng)用列表框控件的應(yīng)用6/15/20213§14.1.按鈕控件6/15/202141.常見的按鈕控件復(fù)選框(Checkboxes)常用于只有兩種完全相反狀態(tài)的情況下單選按鈕(Radiobuttons)適用于同一組屬性相同的數(shù)據(jù)中選一個(gè)數(shù)據(jù)下壓式按鈕(Pushbuttons)適用于消息的發(fā)送
2、分組框(Groupboxes)沒有太多的操作只是在窗口中劃分區(qū)域范圍52.Cbutton類和CBitmapButton類Cbutton類是CWnd類直接派生的。CBitmapButton類又是Cbutton類直接派生的。在AfxWin.h中定義了Cbutton類。63.Cbutton類樣式和方法按鈕不僅繼承了一般的窗口式樣,還可用winuser.h中所定義的按鈕特有的式樣。Cbutton類提供一些很有用的方法。6/15/202173.Cbutton類樣式和方法6/15/202186/15/202194.CBitmapButton類的方法LoadBitma
3、ps()為CBitmapButton對象附上位圖,最多可有4個(gè)位圖,這些位圖從資源文件中讀?。籄utoLoad()將對話框按鈕和CBitmapButton()對象聯(lián)系起來;SizeToContent()用于調(diào)整位圖的尺寸大小。DrawItem()自動(dòng)在一個(gè)按鈕的用戶區(qū)上畫上位圖,即用戶可以自定義按鈕。6/15/202110§14.2.列表框控件6/15/2021111.列表框的用處常用于從眾多數(shù)據(jù)中選某一項(xiàng)(單項(xiàng))或某幾項(xiàng)(多項(xiàng)),如在對話框里,用列表框選擇文件名、目錄等。可以自帶滾動(dòng)條。有預(yù)定義的鍵盤接口,實(shí)現(xiàn)交互操作。可用鍵盤上的方向(箭頭)鍵和Pa
4、geUp或PageDown鍵,在列表框中進(jìn)行數(shù)據(jù)的選擇;設(shè)置適當(dāng)?shù)臉邮胶?,可與Shift或Ctrl鍵組合用。6/15/202112CListBox類是CWnd類派生。在AfxWin.h中定義了CListBox類。CListBox類控件有多種可用的樣式。2.CListBox類及其樣式6/15/2021136/15/202114特別值得注意的是具有LBS_NOTIFY樣式的列表框?qū)⑾蚱涓复翱诎l(fā)送通知消息,要按消息映象項(xiàng)和消息處理方法來捕獲和處理這些消息。消息映像項(xiàng)使用下面的基本格式:ON_Message(ControlID,ClassMethod)所有者類聲
5、明中的方法原型afx_msgvoidClassMethod();發(fā)送消息的列表框控件的子窗口標(biāo)識處理消息的父類方法的名字6/15/2021156/15/2021163.CListBox類的方法通用方法單項(xiàng)選擇特定方法多項(xiàng)選擇特定方法字符串指定的方法虛擬方法6/15/202117(1)通用方法通用方法用來獲得和設(shè)置列表框數(shù)據(jù)的值和屬性,所有的CListBox列表框,包括單選列表框、多選列表框和自繪列表框等都有這些方法。6/15/202118(2)單項(xiàng)選擇特定方法列表框的默認(rèn)模式是單選項(xiàng)模式;所有的通用方法均適用于單選項(xiàng)列表框。只有兩個(gè)類方法專門處理單選項(xiàng)列
6、表框GetCurSel()獲得當(dāng)前選擇列表框項(xiàng)的下標(biāo)(基于0)SetCurSel()選擇列表框字符串。6/15/202119特定多項(xiàng)選擇列表框的CListBox類方法GetAnchorIndex()獲取當(dāng)前定位項(xiàng)的下標(biāo)GetCaretIndex()獲取具有光標(biāo)矩形的項(xiàng)的下標(biāo)GetSelCount()獲取當(dāng)前所選的項(xiàng)的數(shù)目GetSelItems()將所有當(dāng)前被選項(xiàng)下標(biāo)放入一整型數(shù)組緩沖區(qū)SelItemRange()切換多選擇列表框項(xiàng)范圍的選擇狀態(tài)SetAnchorIndex()在框中擴(kuò)充選擇設(shè)置開始(定位)項(xiàng)SetCaretIndex()在框中指定下標(biāo)項(xiàng)設(shè)
7、置光標(biāo)矩形SetSel()在框中切換項(xiàng)目的選擇狀態(tài)(3)多項(xiàng)選擇特定方法擴(kuò)展了標(biāo)準(zhǔn)單選列表框的能力,解決了在一個(gè)列表框中選擇多項(xiàng)帶來的復(fù)雜性6/15/202120(4)字符串指定的方法CLstBox指定列表框中字符串的方法AddString()加入一個(gè)字符串DeleteString()刪除一個(gè)字符串Dir()從當(dāng)前目錄加文件名放入列表框FindString()搜索一字符串FindStringExact()搜索第一個(gè)與指定字符串匹配的字符串InsertString()在指定下標(biāo)處插入一字符串ResetContent()清除列表框中的所有項(xiàng)SelectStr
8、ing()在單選列表框中搜索并選擇一字符串6/15/202121(5)虛擬方法C