上下控件是Windows中最常用的控件之一。它只不過是一對箭頭,用戶可單擊它來增加或減少控件的設定值。通常,緊靠著上下控件有一個編輯控件,稱為伙伴編輯控件或伙伴控件,用于顯示用戶輸出的值。上下控件在應用程序中用途非常廣泛,但目前在縱多出版資料中很少提及其實現方法,使軟件開發者甚感迷惑。其實,在Visual C++6.0中可以很輕松的實現這一控件。筆者通過試驗摸索,對上下控件的實現作一簡要介紹,以饗縱軟件開發朋友。 1. 在Visual C++6.0中創建一個對話框文檔應用程序(這一步應該不用詳細介紹了吧!)。 2. 打開資源編輯框,將其中的對話框縮放至適當大小。再在其中的適當地方放一個編輯框(即控件框中的EDIT控件),然后在它的右邊放一對上下箭頭(即控件框中的SPIN控件)。 注意:這一步中的編輯框和上下箭頭必須按上面的先后順序放置,否則,二者可能勾連不上! 3. 按以下指示的順序依次打開上下箭頭的屬性框。在對話框上單擊上下箭頭控件(SPIN)=>單擊右鍵=>選擇Properties=>選擇Styles屬性頁。此時彈出一個相應的對話框。 下面介紹與之有關的一些選項: Alignment的選項的功能: Right:使上下控件放置在伙伴控件的右邊; Left:使上下控件放置在伙伴控件的左邊; Unattached:使上下控件放置與伙伴控件互不勾連; Orientation的選項的功能: Vertical:設置控件為水平方向; Horizontal:設置控件為垂直方向; AutoBuddy :設置上下箭頭(SPIN)指針,使之指向伙伴編輯框; Wrap:使控件值在達到最小值之后回繞到最大值,反之亦然; Set buddy integer:設置伙伴控件的值為整形; Arrow keys:使用戶可以使用鍵盤的上下箭頭來改變控件的值; No thousand:沒有以千為單位分隔的逗號; Hot track:設置熱鍵跟蹤; 至于General和Extend Styles兩屬性頁讀者可以根據實際情況選擇一些自己所需要的項目,在此筆者不再贅述! 4. 到目前為止,做出來的控件還沒完全達到目的,此時上下箭頭的功能與我們實際需要的正好相反:上箭頭將使控件的值減小,而下箭頭將使控件的值增大;(有興趣的讀者可以試一試)。 5. 要使做好的控件達到我們真正需要的目的,其實比較簡單:只需在對話框初始化函數(筆者試驗的程序中為BOOL CHuobanDlg::OnInitDialog())中加上下面的一句話即可; m_LSpin.SetRange(-50,50); 下面對之略加說明:m_Lspin是與上下箭頭對應的 CspinButtonCtrl類的對象。SetRange(int x,int y)是設置控件變化的上下界為x,y; 好了,到現在為止,整個伙伴控件就已經完全做好了!
|