關於我個人對控制項的幾點總結

2021-12-20 05:19:49 字數 4647 閱讀 4971

2. 編輯框 : 一般在其屬性裡設定id就行,有關它的其餘各種屬性預設值就行。 編輯框有兩種變數,一種是value(只能對編輯框的內容或值作用),一種是control(對它的各種屬性都起作用)。

一、對於value型別,可以通過控制項變數來改變編輯框的顯現內容。直接把值賦給變數,用updatedata(false):將控制項變數的值顯示在控制項中。

若是想把在編輯框的內容(自己鍵入的)傳給變數,用updatedata(true):

將控制項中顯示的內容儲存到對應的控制項變數中(可以在關閉視窗前呼叫就可以)

二、對於control型別:則有多個系統給的函式可以呼叫。

(1)訊息處理函式(view->classwizard彈出的視窗,「message map」tab頁可以設定生成訊息處理函式):

en_chabge: 內容改變訊息。當編輯框的內容改變的時候,系統會呼叫此函式,可以自己在函式體內新增**,達到自己的目的。

en_setfocus: 獲取焦點訊息。當編輯框獲得焦點(即滑鼠單擊到)系統會呼叫這個函式。同樣可以自己新增**實現自己的目的。

(2)通過控制項變數可以呼叫的類的成員函式(直接用就行,不用自己去設定生成)此類函式的大概功能可以通過函式名大概猜出來,因為他們是簡單的英文組合而成的名字,大家看了就會明白。

a.setwindowtext(lptstr); 設定編輯框文字,lptstr是字串就可以

b.getwindowtext(lptstr); 得到編輯框文字,lptstr是字串就可以,把得到的內容復值到lptstr中去。

c.enablewindow(bool); 編輯框是否變灰。false變灰不可用,true正常狀態

d.showwindow(int); 編輯框是否可見,sw_show可見,sw_hide隱藏

e.int getwindowtextlength( ) const;可用來獲得視窗的標題或控制項中的正文的長度。

f.int getlinecount( ) const;,用於多行編輯框,用來獲得正文的行數。如果編輯框是空的,那麼該函式的返回值是1。

具體的呼叫結果大家可以自己試試看,就明白了。

3.組框:基本沒有什麼,就是有那種形式,可以用而己,沒有特別的地方

4.按鈕:屬於cbutton 類的。在view->classwizard彈出的視窗,「messagemap」tab頁可以設定生成訊息處理函式,有兩種。

bn_clicked 單擊後系統會呼叫這個函式,自己新增**可以實現功能

bn_double_clicked 雙擊後系統會呼叫此函式,自己可以在函式體中新增自己想要的雙擊按鈕後想要的效果。

5.單選框 :此按鈕的屬性要設定好,要不然會出現意想不到的錯誤

在屬性的general中的group必須選中(一般都是幾個單選鈕一起出現的,只要第乙個選擇就好,後面的就不用了,同時只要第乙個設定控制項變數就行,選中第乙個,變數值為0,選中第二個,變數值為1,依次類推)group屬性,用來指定一組控制項,使用者可以用箭頭鍵在該組控制項內移動。在同一組內的單選按鈕具有互斥的特性,即在這些單選按鈕中只能有乙個是選中的。同時要想改變單選框的字面內容(如男,女等)在屬性的caption直接改就好了。

同樣在view->classwizard彈出的視窗,「messagemap」tab頁可以設定生成訊息處理函式,bn_clicked 單擊後系統會呼叫這個函式,自己新增**可以實現功能。同時通過控制項變數可以呼叫一些函式

void setcheck( int ncheck );設定檢查框或單選按鈕的選擇狀態,其中ncheck為true的話就代表選中,false的話就代表不被選中

通過變數呼叫getcheck()可以確認單選框是否被選中,選中返回值為true

通過變數呼叫getwindowtext(str),可以得到單選框內的文字,並儲存在字串str 中

6.核取方塊: 這種按鈕的屬性不用怎麼改,一般用預設值就行。核取方塊的名字在屬性的caption直接改就好了。可以給每乙個核取方塊設定乙個控制項變數,它的很多函式跟單選框的是一樣的。

void setcheck( int ncheck );設定核取方塊或單選按鈕的選擇狀態,其中ncheck為true的話就代表選中,false的話就代表不被選中

通過變數呼叫getcheck()可以確認單選框是否被選中,選中返回值為true

通過變數呼叫getwindowtext(str),可以得到單選框內的文字,並儲存在字串str 中。

記得這些函式是通過變數來呼叫的,利用這幾個函式核取方塊的常用功能就可以實現了。

7.組合框 :有三種風格,在屬性裡面可以設定(在屬性中有乙個sort選項表示對組合框的內容自動進行排序的,可以根據需要而用,一般去掉)

******:包含乙個編輯框和總是顯示的列表框。

drop down:僅當單擊下滾箭頭時才出現列表框。

drop list(常用) 僅當單擊下滾箭頭時才出現列表框。但是沒有編輯功能,使用者只能選擇列表中已有的項。(可以自己試一下就比較明白了)

在屬性中可以直接設定組合框的內容,在data中,記住換行要用ctrl+enter,不可以直接用enter.

(1) 組合框也有訊息處理函式,設定方法與前面的控制項一樣。

cbn_selchange 如果選擇項改變,系統呼叫函式;cbn_editchange 如果編輯框種文字改變,系統呼叫函式;

(2) 通過控制項變數呼叫的類的函式。

int getcount(); 獲取組合框中的項數

void getlbtext( int nindex, cstring& rstring ) 獲取組合框中指定位置的文字,第乙個引數表示位置,第二個引數表示獲得文字復值到第二個引數中去

setcursel(int index); int getcursel(); 設定或獲取當前選擇項

int addstring(lpctstr lpszstring ) 新增文字項到最後

int insertstring( int nindex, lpctstr lpszstring );在第幾個位子插入文字

int deletestring( uint nindex ); /刪除第幾個位子的內容

int findstring( int nstartafter,lpctstr lpszstring ) 第乙個引數若為-1的話就從頭開始搜尋,第二個引數為要找的內容。

intfindstringexact(int nindexstart, lpctstr lpszfind ) 從組合框中查詢指定字串,兩個函式類似的。

8.列表框 : 屬性設定時同樣有乙個sort,自動排序的,一般不用。

列表框不可以在屬性中設定列表的內容,必須通過控制項變數呼叫函式來初始化。

int addstring( lpctstr lpszitem ); 該函式用來往列表框中加入字串,其中引數lpszitem指定了要新增的字串(可以在對話方塊的初始化函式中進行列表框的初始化,但有一點updatedata(false);//別忘了加上)

int insertstring( int nindex, lpctstr lpszitem );

該函式用來在列表框中的指定位置插入字串.引數nindex給出了插入位置(索引),如果值為-1,則字串將被新增到列表的末尾.引數lpszitem指定了要插入的字串

int deletestring( uint nindex );

該函式用於刪除指定的列表項,其中引數nindex指定了要刪除項的索引.函式的返回值為剩下的表項數目

void resetcontent( ); 該函式用於清除所有列表項

int gettext( int nindex, lptstr lpszbuffer ) const;

void gettext( int nindex, cstring& rstring ) const;

用於獲取指定列表項的字串.引數nindex指定了列表項的位置.引數lpszbuffer指向乙個接收字串的緩衝區,即把得到的內容復值到lpszbuffe中

int getcursel( ) const;

該函式僅適用於單選擇列表框,用來返回當前被選擇項的位置

int setcursel( int nselect );

該函式僅適用於單選擇列表框,用來選擇指定的列表項.該函式會滾動列表框以使選擇項可見.引數nindex指定了列表項的位置

9.樹形檢視 :一般屬性設定只要改id和就好,這三個選項是有關樹的一些形狀(一般都選),大家可以試試用於不用有什麼不同。

樹形檢視有很多訊息處理函式,比如

樹形控制項

nm_clicked

nm_rclicked

nm_setfocus

樹結點tvn_selchanged

tvn_itemexpanded

tvn_deleteitem

但有乙個比較常用,就是tvn_selchanged,設定方法view->classwizard彈出的視窗,「message map」tab頁可以設定生成訊息處理函式。先掌握這個就可以(暫時)此函式在樹的結點被單擊後會被呼叫,比如ppt的例子,可以在樹中選擇名字,然後傳給編輯框。

通控制項變數可以呼叫此類的很多函式:

(1)插入/刪除結點

htreeitem insertitem(lpctstr lpszitem, htreeitem hparent = tvi_root, htreeitem hinsertafter = tvi_last );(htreeitem可以當成類名,宣告物件時要用。例如htreeitem root=m_"此處直接寫入字串就可以,也可以是字串陣列 」),m_"張三",root),在root下面插入張三這個孩子,可以參考ppt的例子)

關於我鎮教育均衡發展的幾點建議

紅鎮三小馮慶龍 教育的公平是社會公平的基礎。教育均衡發展從來沒有象今天這樣引起全社會的關注。近年來義務教育水平不斷提高,不斷發展,但是城鄉之間,學校之間和各類教育之間的不均衡現象依然還很嚴峻,如果這些差距繼續擴大,勢必會影響到義務教育的全面 協調和可持續發展,勢必影響到教育的公平和公正,勢必影響到構...

關於我校招生工作的幾點想法

一 學校成立專兼職結合的穩定招生隊伍 制定學校招生工作的長期規劃,保持招生工作的長期穩定性和連慣性,按照 擴大範圍 多塊切割 責任到人 穩定連貫 的原則。多路了解周邊學校以及招生名校的招生政策和招生工作思路,適時召開招生人員會議,研究招生市場情況,及時動態掌握市場最新情況,結合我校實際情況,制定調整...

關於我國利率市場化的幾點思

摘要 利率市場化是乙個客觀規律,是金融發展的客觀要求,也是以國經濟發展不同階段的利率政策。因此實行利率市場化,有利於推動金融體制改革,促進我國國民經濟的發展。在當今的金融全球化的浪潮中,利率市場化被世界各國視為金融自由化的主要內容之一。因此我國的利率市場化也要分步驟,循序漸進的進行。關鍵詞 利率市場...