How to hook a Combobox CloseUP event message?

Hi
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.
Thoughts?
Thanks in advance
Graeme
LVL 2
superg65Asked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

danaseamanCommented:
Subclass and get WM_COMMAND message and HiWord of wParam = CBN_CLOSEUP.
See code below:
   Case WM_COMMAND
      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
         Case CBN_SETFOCUS, CBN_KILLFOCUS
            ' 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

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
superg65Author Commented:
Hi
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
http://www.experts-exchange.com/Programming/Languages/Visual_Basic/Q_23504174.html
Thanks
G

superg65Author Commented:
Thanks for this. G
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Visual Basic Classic

From novice to tech pro — start learning today.