工具栏ToolBar上的CComboBox响应回车
来源:互联网 发布:java中的构造器 编辑:程序博客网 时间:2024/06/05 16:00
在派生CToolBar类的时候, 注意如果用VC6的类向导, 类列表里是没有CToolBar的, 可以选择CToolBarCtrl, 然后手动改为CToolBar( 参考 http://support.microsoft.com/kb/99161/en-us),
//下面的代码是直接手写的
#define IDC_COMBOBOX 11111
class CToolBarEx : public CToolBar
{
.........//其他的类代码省略
CComboBox m_Combo;
afx_msg void OnSelectComboBox();
DECLARE_MESSAGE_MAP()
};
BEGIN_MESSAGE_MAP(CToolBarEx, CToolBar)
ON_CBN_SELENDOK(ID_COMBOBOX, OnSelectComboBox)
END_MESSAGE_MAP()
void CToolBarEx::OnSelectComboBox()
{
}
在上面的一小段代码中, 我们添加了对CBN_SELENDOK消息的处理, 这个消息是CComboBox在完成选择后
发送给父窗口的. 处理回车还需要在用户的VK_RETURN消息里模拟发送出这个CBN_SELENDOK消息.
所以我们还需要处理PreTranslateMessage函数.函数在类头文件的声明略.
BOOL CToolBarEx::PreTranslateMessage(MSG* pMsg)
{
if (pMsg->message == WM_KEYDOWN)
{
NMHDR nm;
nm.hwndFrom = m_hWnd;
nm.idFrom = GetDlgCtrlID();
nm.code = NM_RETURN;
switch (pMsg->wParam)
{
case VK_RETURN:
//发送通知消息
if( m_Combo.IsChild(GetFocus()) )
OnSelectComboBox();
GetOwner()->SendMessage(WM_NOTIFY, nm.idFrom, (LPARAM)&nm);
return TRUE;
}
}
return CToolBar::PreTranslateMessage(pMsg);
}
- 工具栏ToolBar上的CComboBox响应回车
- 工具栏ToolBar上的CComboBox响应回车
- 工具栏ToolBar上的CComboBox响应回车
- 工具栏ToolBar上的CComboBox响应回车
- 工具栏ToolBar的使用
- MFC对话框程序中添加工具栏及工具栏上的Button响应UPDATE_COMMAND_UI消息
- MFC对话框程序中添加工具栏及工具栏上的Button响应UPDATE_COMMAND_UI消息
- VC.NET界面编程中关于的ToolBar(工具栏)的编程应用(二)2008/07/01 19:22 上回说到给工具栏上添加IE风格的下拉菜单按钮,我们通过设置工具栏按钮的风格已经完成了下拉菜单按钮的添加,现在我们准备为下拉菜单按钮中响应下拉箭头部分的实现
- 在工具栏Toolbar上添加常用控件的编程思路和示例
- Ext.toolbar.Toolbar工具栏
- Ext.toolbar.Toolbar 工具栏
- Ext.toolbar.Toolbar工具栏
- 自定义工具栏 (ToolBar) 控件的外观
- extjs中Toolbar工具栏的用法
- MFC工具栏的创建和实现ToolBar
- 在工具栏(ToolBar)上添加ComboBox控件,为何每次在下拉列表中选择时,都会自动的选中工具栏上的一个按钮?
- CComboBox 在Selchange事件中响应 获取选取的内容
- 指定回车的响应事件
- Windows平台安装Bugzilla(下)
- Windows平台安装Bugzilla(上)
- 保存ADO的记录集为XML文件
- 翻译—IvorHorton的Begining Visual C++ 2005 [第一章]
- 深入的理解嵌套类和内部类
- 工具栏ToolBar上的CComboBox响应回车
- 用GDI+转BMP为WMF、EXIF、EMF格式
- ASP防止同时登陆的问题
- CSpinButtonCtrl的弱智问题
- GDI+显示GIF动画
- 利用IPicture接口加载、显示图片
- 版务贴:斑竹报道/请假贴(2005-9-13) ,为了防止论坛的帖子丢失,部分纪录于此
- struts2 数字、日期的格式化输出
- 修改Listctrl的显示Style