首页 > 代码库 > 用句柄操作下拉框
用句柄操作下拉框
你要获得组合框的句柄做什么呢?
是要读取组合框条目的值还是进行什么操作呢?
要读取值用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
用句柄操作下拉框