描述:
WM_KEYDOWN不行的
解决方案1:
子类化combo
.h
CContainedWindow m_Edit;
BEGIN_MSG_MAP(CYourClass)
ALT_MSG_MAP(1)
MESSAGE_HANDLER(WM_GETDLGCODE, OnGetDlgCode)
MESSAGE_HANDLER(WM_KEYDOWN, onkeydown)
MESSAGE_HANDLER(WM_CHAR, OnEditInputMagnification)
END_MSG_MAP()
.cpp
in constructor: CYourClass::CYourClass() : m_Edit(_T("EDIT"), this, 1) {}
in OnInitDialog: m_Edit.SubclassWindow(::GetWindow(GetDlgItem(IDC_COMBO), GW_CHILD));
add if you want all keys add following:
LRESULT CYourClass::OnGetDlgCode(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
return DLGC_WANTALLKEYS;
}
and finally you can get KeyDown:
LRESULT CYourClass::onkeydown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
switch (wParam)
{
case VK_RETURN:
{
...
}
break;
case VK_TAB:
{
...
}
break;
}
bHandled = FALSE;
return S_OK;
}
方法一同上
方法2 WM_FORWARDMSG
您可能想查找下面的文章:
- 看了一下WTL,对这个代码看不懂
- 要用atl写个控件,涉及到界面的,怎么将wtl和atl结合起来用呐?用wtl来做控件的界面
- 在ATL中使用WTL中的CFileDialog实现预览功能出现的不刷新问题,高手进
- 使用WTL库,编译提示“cannotopenincludefile"atlresh"”,这是怎么回事?
- WTL能否用于ATL做COM组件的界面?需要注意什么?
- WTL中,怎么改变lineto画线的颜色和粗细?
- WTL问题,MainFrame加一个Destory响应怎么会这样
- 请大家帮忙看看这个:关于wtl
- WTL,CCodePageCombo继承CComboBoxT<ATL::CWindow>类,需要响应下拉菜单CloseUp的消息
- WTL下如何添加Mediaplayer控件