我想在VB中使用Sendmessage函数控制ComboBox控件,展开ComboBox列表,选择其中的某个选项。最后一步无法实现,查资料后发现发送CB_SETCURSEL消息的的语句(1)执行后,还需要再发送CBN_SELCHANGE消息的语句(2)。
我感觉问题可能是这样的,SendMessage发送CBN_SELCHANGE消息时,WPARAM参数是32位,它的16位高位部分是CBN_SELCHANGE ,它的16位低位部分是HwndComboBox的ID,但是在实际运行中,我发现了HwndComboBox是68356,是32位long类型,与WPARAM的16位低位部分不匹配。
SendMessage(HwndComboBox, CB_SETCURSEL, 0, ByVal 0&) ‘(1)
SendMessage(GetParent(HwndComboBox), WM_COMMAND, CBN_SELCHANGE + HwndComboBox, ByVal HwndComboBox) ‘(2)
哪位高人帮我看看。抱拳!