?
Solved

combobox focus event

Posted on 2004-04-23
1
Medium Priority
?
380 Views
Last Modified: 2013-11-20
I want to capture the shift+tab event when my combo got  focus, it is ok when I set the combobox DROPDOWNLIST, but when the combobox set to DROPDOWN, I can not capture the event if the focus is hold by the combobox, code like this:

BOOL CMyDlg::PreTranslateMessage(MSG* pMsg)
{
      if( pMsg->message == WM_KEYDOWN )
      {
            if( (pMsg->hwnd == GetDlgItem(IDC_COMBO_FIND)->m_hWnd)
            {
                  AfxMessageBox("IDC_COMBO_FIND-mhWnd");
                  return TRUE;
            }
            else if(GetFocus()==GetDlgItem(IDC_COMBO_FIND) )
            {
                  AfxMessageBox("IDC_COMBO_FIND-getfocus");
            }
            else if(pMsg->hwnd == GetDlgItem(IDC_COMBO_FIND)->GetSafeHwnd())
            {
                  AfxMessageBox("IDC_COMBO_FIND-GetSafeHwnd");
            }
            else
            {
                  //AfxMessageBox("not hit");
            }
      }
      return CDialog::PreTranslateMessage(pMsg);
}
0
Comment
Question by:csdnchen
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
1 Comment
 
LVL 48

Accepted Solution

by:
AlexFM earned 200 total points
ID: 10906380
Combobox with Dropdown style has child edit box, this is a reason your code doesn't work. You can see this in Spy++.
Find this child edit box using GetWindow or EnumChildWindows, and test for it's HWND in PreTranslateMessage.
You can use also IsChild function to test whether pMsg->hwnd is child of combobox.
0

Featured Post

Enroll in August's Course of the Month

August's CompTIA IT Fundamentals course includes 19 hours of basic computer principle modules and prepares you for the certification exam. It's free for Premium Members, Team Accounts, and Qualified Experts!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction: Hints for the grid button.  Nested classes, templated collections.  Squash that darned bug! Continuing from the sixth article about sudoku.   Open the project in visual studio. First we will finish with the SUD_SETVALUE messa…
Exception Handling is in the core of any application that is able to dignify its name. In this article, I'll guide you through the process of writing a DRY (Don't Repeat Yourself) Exception Handling mechanism, using Aspect Oriented Programming.
This video will show you how to get GIT to work in Eclipse.   It will walk you through how to install the EGit plugin in eclipse and how to checkout an existing repository.
In this brief tutorial Pawel from AdRem Software explains how you can quickly find out which services are running on your network, or what are the IP addresses of servers responsible for each service. Software used is freeware NetCrunch Tools (https…
Suggested Courses

771 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question