急急急!如何自己发CBN_SELCHANG消息给ComboBox,保证给分!

bluestar 2003-08-01 11:43:27
用SendMessage或者PostMessage都行

或者执行ComboBox的哪个成员函数也会发出这个消息。
...全文
66 点赞 收藏 7
写回复
7 条回复
LionTang 2003年08月01日
同意papaya_stone(^_^)shentong(^_^) ,刚才我理解错误,见笑:);
回复 点赞
xiaohedou 2003年08月01日
要我作大概这样:

::SendMessage(hWndReceive,WM_COMMAND,wParam,(LPARAM)hWndComboBox);
回复 点赞
zbc 2003年08月01日
关于CBN_SELCHANGE消息是List box 或 ComboBox自己发送的通知消息呀,当你改变了它的当前选择项后就会自动触发了,你自己用sndmsg来发送有何用吗?你看一下msdn中该消息的说明:
The CBN_SELCHANGE notification message is sent when the user changes the current selection in the list box of a combo box. The user can change the selection by clicking in the list box or by using the arrow keys. The parent window of the combo box receives this notification in the form of a WM_COMMAND message with CBN_SELCHANGE in the high-order word of the wParam parameter.

回复 点赞
papaya_stone 2003年08月01日
应该是这样吧:
BYTE bLow=0;
BYTE bHigh=CBN_SELCHANGE;
WPARAM wParam=MAKEWORD(bLow,bHigh);
::SendMessage(hWndReceive,WM_COMMAND,wParam,(LPARAM)hWndComboBox);

hWndReceive接收窗口的句柄
hWndComboBox组合矿的句柄

可以查MSDN:CBN_SELCHANGE
回复 点赞
papaya_stone 2003年08月01日
CBN_SELCHANG消息是ComboBox发给接收窗口的,你把它发给ComboBox有什么用呀。
回复 点赞
LionTang 2003年08月01日
从CComboBox继承一个类
然后使用控件的消息反射机制。让发送出去的消息反射给控件本身:

在控件类的消息映射中加入
ON_CONTROL_REFLECT(消息(以CBN开头),函数名)
例:
ON_CONTROL_REFLECT(CBN_DBLCLK,OnDoubleClick)
然后加入你的消息响应函数,在函数中进行你要处理的事情

用该类来定义对象,则该对象就可以响应自己发出的消息。

如果你是通过资源代码来生成控件,比如你欲生成的控件如果在一个对话框中,那么在你的对话框类中为你的控减定义一个该控件类的成员变量。但是在完事以后要把类名改成你前面定义的那个类的名字。对于DoDataExchange(CDataExchange* pDX)函数,如果你用FALSE调用CDialog类的UpdateData函数,则它会用上述成员变量的当前信息去更新窗口上的控件,如果你用TRUE调用UpdateData函数,则它会将窗口上的信息返回给上述成员变量。
回复 点赞
bluestar 2003年08月01日
没有人知道吗?不会吧,这个问题不难吧。
回复 点赞
发动态
发帖子
VC/MFC
创建于2007-09-28

7901

社区成员

42.1w+

社区内容

VC/MFC相关问题讨论
社区公告
暂无公告