2. In addition, on moving the separator, the second ComboBox text is highlighted, but it's not activated.
Code: Select all
Global old
#height = 40
; Structure my_COMBOBOXINFO
; cbSize.l
; rcItem.RECT
; rcButton.RECT
; stateButton.l
; hwndCombo.i
; hwndEdit.i
; hwndList.i
; EndStructure
; Procedure GetComboBoxEditHandle(hwndCombo)
; Protected cbi.my_COMBOBOXINFO\cbSize = SizeOf(my_COMBOBOXINFO)
; GetComboBoxInfo_(hwndCombo, cbi)
; ProcedureReturn cbi\hwndEdit
; EndProcedure
Procedure wndproc(hwnd, msg, wParam, lParam)
If msg = #WM_SIZE
;height = (lParam >> 16) & $FFFF
If GadgetHeight(2) <> #height
Debug "height: " + Str(GadgetHeight(2)) + " <-- 20"
Else
Debug "height: " + Str(GadgetHeight(2))
EndIf
EndIf
ProcedureReturn CallWindowProc_(old, hwnd, msg, wParam, lParam)
EndProcedure
If OpenWindow(0, 0, 0, 523, 125, "", #PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)
ComboBoxGadget(1, 20, 15, 200, #height, #PB_ComboBox_Editable|#PB_ComboBox_LowerCase)
ComboBoxGadget(2, 225, 15, 260, #height, #PB_ComboBox_Editable|#PB_ComboBox_LowerCase)
SplitterGadget(3, 10, 10, 490, #height, 1, 2, #PB_Splitter_Vertical|#PB_Splitter_Separator)
; for showing the resizing problem clearly.
old = SetWindowLongPtr_(GadgetID(2), #GWL_WNDPROC, @wndproc())
; same result
;hwnd = GetComboBoxEditHandle(GadgetID(2))
;old = SetWindowLongPtr_(hwnd, #GWL_WNDPROC, @wndproc())
For i = 0 To 10
AddGadgetItem(2, -1, "aaaaaaaaaaaaaaaabbbbbbbccc")
Next
SetGadgetState(2, 0)
SetGadgetText(1, "abcdefg")
SetActiveGadget(1)
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_Event_CloseWindow
Break
EndSelect
ForEver
EndIf