上下控制項是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;
好了,到現在為止,整個夥伴控制項就已經完全做好了!
上下滾動文字自定義控制項
public class verticalrollingtextview extends view private void parseattrs context context,attributeset attrs override protected void ondraw canvas can...
為RichTextBox控制項新增上下文選單
c private voidform1 load objectsender,eventargs e private voidmyitem1 click objectsender,eventargs e private voidmyitem2 click objectsender,eventargs ...
C 關於控制項的上下左右移動
c 怎麼讓控制項上下左右移動?如圖 有多個控制項 根據上下左右鍵 控制每個控制項的焦點 public partial class form1 form 定義乙個二位陣列 存放textbox控制項 textbox arr private void form1 load object sender,ev...