• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 859
  • Last Modified:

How to hook a Combobox CloseUP event message?

I have a standard combobox in a frame on a form. I have some code that makes the frame transparent i.e. it BitBlts the underlying portion of the form onto the frame with a mask to make it seem transparent (I have a gradient background on the form that I want the frame to show)
When the combobox is clicked, the drop down window covers part of my frame. When the drop down window closes the part of the frame under the dropdown window that was "transparent" now  shows the frame backcolour while the rest of the frame is transparent as before.
What I want to be a ble to do is hook the combo closeup message (or whatever the appropriate message is) to trigger a redraw of my frame transparency code.  I do not wish to use a timer to trigger the redraw repeatedly, I am looking for a lower level solution.
Thanks in advance
  • 3
1 Solution
Subclass and get WM_COMMAND message and HiWord of wParam = CBN_CLOSEUP.
See code below:
      If lParam = m_hWnd Then
         ' Debug.Print "WM_COMMAND"
         Select Case (wParam \ &H10000) And &HFFFF&
         Case CBN_DBLCLK
            RaiseEvent DblClick
         Case CBN_DROPDOWN
            RaiseEvent DropDown
         Case CBN_CLOSEUP
            m_hWndDropDown = 0
            RaiseEvent CloseUp
            ' Not required, handed by UserControl
         Case CBN_SELCHANGE
            'Debug.Print "CBN_SELCHANGE", ListIndex, GetItemText(ListIndex)
            SetCboEditText GetItemText(ListIndex)
            RaiseEvent Change
            RaiseEvent Click
         Case CBN_EDITCHANGE
            RaiseEvent Change
         End Select
      End If

Open in new window

superg65Author Commented:
Looks like just what I was after. Will try it out tomorrow and get back to you.
Thanks G
superg65Author Commented:
Hi Danaseaman
Have not had a chance to test your solution today - sorry should get to it tomorrow but had to do stuff with my kids today.
After thinking about it a bit, I  have just raised another question related to this that you might like to have a look at

superg65Author Commented:
Thanks for this. G
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

What Kind of Coding Program is Right for You?

There are many ways to learn to code these days. From coding bootcamps like Flatiron School to online courses to totally free beginner resources. The best way to learn to code depends on many factors, but the most important one is you. See what course is best for you.

  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now