用句柄操作下拉框


你要獲得組合框的句柄做什么呢?
是要讀取組合框條目的值還是進行什么操作呢?
要讀取值用selectedIndex讀取索引值(從0開始),用selectedItem讀取選項的內容(要進行類型轉換),用selectedIndex.key可以獲得按鍵值;
要完成句柄的操作也有三種方式,用其一也可,但工程較大,用於Windows編程:
1、用父窗口的函數: WM_DRAWITEM函數重繪,再用句柄用函數GetWindow(hCombo,GW_CHILD)即可
2、可以通過API函數 GetComboBoxInfo 得到ComboBox 的信息,控件得重繪:
   protected override void OnHandleCreated(EventArgs e)

        {

            base.OnHandleCreated(e);

            ComboBoxInfo cbi = new ComboBoxInfo();

            cbi.cbSize = Marshal.SizeOf(cbi);

            GetComboBoxInfo(base.Handle, ref cbi);

            _editHandle = cbi.hwndEdit;

            if (DropDownStyle != ComboBoxStyle.DropDownList)

            {

                _editNativeWindow = new EditNativeWindow(this);

            }

        }
3、用.NET里封裝好的函數:
SendMessage(comboBox1.Handle, CB_SETCURSEL, 1, 0);


/////////////////////////////////////

通過FindWindowEx(formhwnd,   0,   vbNullString,   "名字 ")我能夠得到按鈕的句柄,可下拉列表沒有名字,我如何得到?
///////////////////////////////////////////////////////////////////

 

http://www.cnblogs.com/hssbsw/archive/2012/02/09/2344489.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM