Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 3675602
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 19, 20262026-05-19T02:59:47+00:00 2026-05-19T02:59:47+00:00

How i can disable CComboBox mfc keyboard navigation, i need when i press key

  • 0

How i can disable CComboBox mfc keyboard navigation, i need when i press key on keyboard with open dropdown list, item must not selecting. Thanks!

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-19T02:59:47+00:00Added an answer on May 19, 2026 at 2:59 am

    If you really just mean: “how do I disable the control from being changed?”, then just call the EnableWindow method on the CComboBox.

    But if you really mean you just want to block keyboard messages from hitting the control, then use window subclassing to swallow keyboard messages. (Don’t confuse the term “window subclassing” with C++ classes – not the same thing). Basically, we’re just going to intercept all WM_CHAR and WM_KEYDOWN messages associated with the combo box and let all the other messages pass.

    Do this:

    WNDPROC g_prevFunc = NULL;
    
    LRESULT MyWindowHook(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
    {
        if ((uMsg == WM_CHAR) || (uMsg == WM_KEYDOWN) || (uMsg == WM_KEYUP))
        {
            return 0; // swallow message
        }
    
        return ::CallWindowProcW(g_prevFunc, hWnd, uMsg, wParam, lParam);
    }
    
    
    void MySubclassWindow(HWND hwnd)
    {
        g_prevFunc = (WNDPROC)::SetWindowLongW(hwnd, GWL_WNDPROC, (LONG_PTR)MyWindowHook);
    }
    
    // wherever your code gets initialized
    CYourWindow::OnInit()
    {
       // whatever other initialization you got going on...
    
      // I'm assuming your CComboBox is named something like m_combobox.
    
      ::MySubclassWindow(m_combobox.m_hWnd);
    
    }
    

    Double check to make sure this doesn’t break tab key navigation. I just tried and it seems to work fine. You may not need to swallow WM_CHAR, just might need to swallow WM_KEYUP and WM_KEYDOWN. Some experimentation on your part is likely needed.

    There’s also an MFC method on the CWnd class called SubclassWindow. So if you want to go pure MFC, you can look into this as well.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

In C++ you can disable a function in parent's class by declaring it as
I know this seams a trivial question, but how can I disable the annoying
Can I somehow disable spell-checking on HTML textfields (as seen in e.g. Safari)?
I can't seem to be able to disable ViewState for controls that I add
I can't seem to be able to disable a select box when the select
Can any script or setting be written (autorun file?) to disable formatting of a
How can you make the experience with Eclipse faster? For instance: I disable all
In Delphi, you can use compiler directives to disable specific warnings, such as {$WARN
What harm can come from defining BOOST_DISABLE_ABI_HEADERS when compiling boost? From the boost file:
In HTML forms, buttons can be disabled by defining the disabled attribute on them,

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.