• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            積累的VC編程小技巧之組合框

            1.如何正確的得到ComBox的指針

            CComboBox *mComb = (CComboBox*)GetDlgItem(IDC_DuanCB);

            CComboBox *mComb = (CComboBox*)::GetDlgItem(m_hWnd,IDC_DuanCB);

            2.CComboBox控件詳解

            CComboBox控件又稱作組合框控件,其有三種形態(tài)可供選擇,1.簡(jiǎn)單組合框(Simple)2.下拉組合框(Drop-down)3.下拉列表式組合框(Drop-down list).

            CComboBox控件的常用設(shè)置屬性說(shuō)明:

            type屬性:里面一共有三個(gè)選項(xiàng).就是其三種形式, 我們常用的是后兩種形態(tài),其區(qū)別就是Dropdown的編輯區(qū)為可編輯控件,droplist為靜態(tài)控件.

            Data屬性:當(dāng)程序初始化的時(shí)候,下拉列表將顯示其屬性里面的內(nèi)容,內(nèi)容用分號(hào)分隔.其屬性只支持后2中形式,

            Sort 屬性:對(duì)添加到下拉列表框中的數(shù)據(jù)自動(dòng)進(jìn)行排序,假如你不想他改變你的顯示序列,把他設(shè)置成False.

            控件是一個(gè)窗口.其基類是為CWnd.所以CComboBox也可以使用CWnd的一些函數(shù),它自己的函數(shù)有30幾種.我寫了一個(gè)示范程序,演示了一些常用的函數(shù),你可以參考其代碼看到其功能.

            :m_cbox CComboBox控件的關(guān)聯(lián)變量,m_endEDIT控件的關(guān)聯(lián)變量

            1.GetCount() 函數(shù):用以獲得列表框中的選項(xiàng)數(shù)目. int GetCount() const;(此乃函數(shù)原型,我會(huì)列在每條的后面) 下面的例子是程序中各個(gè)按鈕里面的代碼

            int i;

            CString str;

            i=m_cbox.GetCount();

            str.Format ("%d",i);

            m_end="一共有" str "個(gè)數(shù)據(jù)";

            UpdateData(FALSE);

            2.GetCurSel() 函數(shù):用以得到用戶選中下拉列表框中數(shù)據(jù)的索引值.返回的值是重0開始的,假如沒有選擇任何選項(xiàng)將會(huì)返回-1 Int GetCurSel() const

            int i;

            CString str;

            i=m_cbox.GetCurSel ();

            str.Format ("%d",i 1);

            if (i==-1) m_end="你什么都沒有選";

            else m_end="你選的是第" str "項(xiàng)";

            UpdateData(FALSE);

            3.SetCurSel函數(shù):選取列表框中的一個(gè)選項(xiàng),索引從0開始,-1為什么都不選.當(dāng)你需要把列表框中已經(jīng)選取的內(nèi)容清空時(shí)就可以使用這個(gè)函數(shù);

            if(m_i<3) m_cbox.SetCurSel (m_i );//m_iint型變量 用以計(jì)數(shù)

            else

            {

            m_cbox.SetCurSel (-1);

            m_i=0;

            }

            4.SetEditSel函數(shù):設(shè)置編輯區(qū)中藍(lán)色選中字段的長(zhǎng)度, BOOL SetEditSel( intnStartChar, int nEndChar ); nStartChar是起始的位置,當(dāng)設(shè)置為-1時(shí)為不選擇任何字段,nEndChar是結(jié)束位置.還有一個(gè)對(duì)應(yīng)的函數(shù)GetEditSel是取得其位置,在此不詳解.

            m_cbox.SetEditSel (3,5);//在編輯框中打入一串?dāng)?shù)字在按此按鈕就能看到效果

            //其作用就是選中第3到第5個(gè)字符作為熱點(diǎn)

            5.Clear() Cut() Paste() Copy() 這四個(gè)函數(shù)我放在一起說(shuō),因?yàn)樗麄兌际轻槍?duì)編輯框中選定的文字進(jìn)行編輯的函數(shù),很多初學(xué)者很不明白這4個(gè)函數(shù),使用這些函數(shù)沒有作用,其實(shí)不然,這些函數(shù)對(duì)于在編輯框中的內(nèi)容不進(jìn)行處理,他真正處理的是你用鼠標(biāo)選中的內(nèi)容,對(duì)于Clear()函數(shù)很多書中解釋都是有誤的,很多書中對(duì)他的解釋是清除當(dāng)前選中的文本,我認(rèn)為這樣的解釋是有歧異的,真正的解釋是把你剛選中的文本釋放掉,也就是不選,而不是把選中的刪除,真正的刪除選中的文本的函數(shù)是Cut(),Copy()是復(fù)制選中的文本,Paste()是粘貼到光標(biāo)處.其演示就不寫在程序中,有愛好的朋友可以自己試試.

            6.LimitText()函數(shù).其作用是限制在編輯框中鍵入的文本長(zhǎng)度,BOOL LimitText(int nMaxChars); 當(dāng)nMaxChars0時(shí),不是不能輸入,而是長(zhǎng)度最大化為65535字節(jié)

            7.GetLBText()函數(shù).其原型為void GetLBText( int nIndex, CString&rString ).nIndex為列表框中數(shù)據(jù)的索引值,rString 為字符串,其作用就是把索引號(hào)為nIndex的數(shù)據(jù)放到rString變量中.與其對(duì)應(yīng)的GetLBTextLen(intnIndex)函數(shù)就是得到索引號(hào)為nIndex中數(shù)據(jù)的長(zhǎng)度

            m_cbox.GetLBText (2,m_end); // GetLBText按鈕

            UpdateData(0);

            CString str; //GetLBTextLen按鈕

            int i=m_cbox.GetLBTextLen (2);

            str.Format ("%d",i);

            m_end=str;

            UpdateData(FALSE);

            8.AddString() DeleteString() InsertString() ResetContent() 四個(gè)函數(shù)放在一起,他們都是針對(duì)下拉列表框的處理函數(shù), AddString(LPCTSTR lpszString) 是在列表框的尾巴添加一條數(shù)據(jù),參數(shù)為字符串. DeleteString(UINT nIndex)為刪除指定索引為nIndex的數(shù)據(jù). InsertString(int nIndex, LPCTSTR lpszString)在索引nIndex處插入IpszString的內(nèi)容. ResetContent()是清除列表框中所有的內(nèi)容.

            9.SetDroppedWidth(UINT nWidth) 函數(shù).用于設(shè)定下拉列表框的最小寬度,當(dāng)下拉列表框中的數(shù)據(jù)很長(zhǎng)不能完全顯示時(shí),我們可以使用這個(gè)函數(shù)把列表框的寬度設(shè)置的大些.同樣GetDroppedWidth()是返回列表框的寬度.

            以下為總結(jié)了各大論壇中對(duì)CCombBox控件使用的問(wèn)題.并給出了正解.

            1.關(guān)于CComboBox在對(duì)話框中沒有下拉項(xiàng)目的問(wèn)題

            : 資源編輯器中對(duì)話框中CComboBox組件的垂直范圍拉大了下,就看見字體了,看到那個(gè)向下的黑箭頭了嗎,點(diǎn)他下拉,嘿嘿就這么簡(jiǎn)單.

            2.請(qǐng)問(wèn)怎樣能讓CCombobox記住用戶的輸入.下次使用時(shí)還有

            : 要記住用戶的輸入必須用到文件讀寫,或者把內(nèi)容添加到注冊(cè)表中,我會(huì)在以后給出解決辦法.

            3. CCOMBOBOX如何使它只讀,不能編輯

            : 看了本文的介紹也許你現(xiàn)在知道了, CCOMBOBOX有三種類型的,選擇你需要的吧!

            4. 我要讓界面一顯示,就能在Combo框中顯示默認(rèn)的數(shù)據(jù)

            : 你要在OnInitDialog里面加上我上面所提到的SetCurSel()函數(shù)就行了.

            5. 如何把選好的內(nèi)容賦給變量

            : 先給CCOMBOBOX設(shè)置一個(gè)CString關(guān)聯(lián)變量,再添加事件處理函數(shù)CBN_ Selchange.使用UpdateData(FALSE)就行了.

            6. CComboBox組合框中,條目的對(duì)齊方式是左對(duì)齊,能設(shè)置為對(duì)中或者右對(duì)齊嗎?

            : 沒有直接的方法,你必須自己對(duì)齊, 比如最大長(zhǎng)度是10

            posted on 2008-04-02 18:52 wrh 閱讀(763) 評(píng)論(0)  編輯 收藏 引用


            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            導(dǎo)航

            <2008年4月>
            303112345
            6789101112
            13141516171819
            20212223242526
            27282930123
            45678910

            統(tǒng)計(jì)

            常用鏈接

            留言簿(19)

            隨筆檔案

            文章檔案

            收藏夾

            搜索

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            国产午夜免费高清久久影院| 日韩久久久久中文字幕人妻 | 久久不射电影网| 精品综合久久久久久97超人| 久久国产免费| 精品国际久久久久999波多野| 久久久久国产一区二区| 99精品久久精品一区二区| 久久精品国产亚洲麻豆| 久久精品国产2020| 狠狠色综合网站久久久久久久| 久久精品久久久久观看99水蜜桃| 久久免费美女视频| 亚洲AV无码久久| 伊人久久五月天| 欧美日韩精品久久久久| 91精品国产91热久久久久福利| 久久久久人妻一区二区三区| 久久AⅤ人妻少妇嫩草影院| 久久精品蜜芽亚洲国产AV| 人妻无码精品久久亚瑟影视 | 国产偷久久久精品专区 | 亚洲人成精品久久久久| 看全色黄大色大片免费久久久| 秋霞久久国产精品电影院| 99久久国语露脸精品国产| 久久久国产打桩机| 欧美伊人久久大香线蕉综合| 亚洲精品视频久久久| 亚洲日韩欧美一区久久久久我 | 久久亚洲欧美日本精品| 韩国免费A级毛片久久| A狠狠久久蜜臀婷色中文网| 亚洲AV无码久久精品色欲| 伊人久久大香线蕉av不变影院 | 99久久国产综合精品网成人影院| 韩国免费A级毛片久久| 久久精品国产99国产精品澳门| 99re久久精品国产首页2020| 99久久精品国内| 国产三级精品久久|