|
-
Apr 5th, 2001, 02:24 PM
#1
Thread Starter
Lively Member
Is there an API call can detect if Combobox has been changed. I know sendmessage is working for Textbox, but it does not work for ComboBox
-
Apr 5th, 2001, 02:36 PM
#2
It's the EM_GETMODIFY message. (Same as an edit control), because the "typing field" of the combobox is actually an edit control.
-
Apr 5th, 2001, 02:58 PM
#3
Addicted Member
Megatron, could u give an example of using that notification message? I can't seem to figure it out.
-
Apr 5th, 2001, 03:06 PM
#4
Thread Starter
Lively Member
EM
I did use EM_GetModify, but it does not work for combo. Please help
Public Const EM_GETMODIFY = &HB8
Public Const EM_SETMODIFY = &HB9
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Public Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Public Function isChanged(frm As Form)
Dim cntl
For Each cntl In frm
If PostMessage(cntl.hwnd, EM_GETMODIFY, True, True) Then
MsgBox "changed"
Exit Function
End If
Next
End Function
-
Apr 5th, 2001, 06:36 PM
#5
Well, first you need the handle of the Edit control inside the combobox. This can be done via FindwindowEx.
Code:
hEdit = FindWindowEx(Combo_handle, 0, "Edit", vbNullString)
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|