Согласование UpDown с Buddy контролем, Корректная работа в UserControl - VB
Формулировка задачи:
В UserControl создаю элемент UpDown для элемента с дескриптором m_BuddyhWnd следующим образом:
Однако команда SendMessage не дает требуемого эффекта: сообщения UDS_SETBUDDYINT и UDS_NOTHOUSANDS не работают!!!
В приводимых на сайтах по Visual C++ примерах говорится о синхронизации обоих элементов контроля: UpDown и, например, TextBox.
Как осуществить эту синхронизацию, почему команда UDM_SETBUDDY не дает требуемого результата в UserControl?, в то время как в ClassModule работает безукаризненно???
При создании подпрограммы обратного вызова на сообщения процедуры Windows
SetWindowLong
структураtNMH.idfrom = 0
. Почему???Заране спасибо за конкретные подробные ответы.
Решение задачи: «Согласование UpDown с Buddy контролем, Корректная работа в UserControl»
textual
Листинг программы
If (m_hWnd = 0) Then m_hWndParent = GetParent(UserControl.hwnd) '// Создать элемент управления UpDown m_hWnd = CreateWindowEx(WS_EX_STATICEDGE, UPDOWN_CLASS, vbNullString, dwStyle, _ 0, 0, UserControl.ScaleWidth Screen.TwipsPerPixelX, UserControl.ScaleHeight Screen.TwipsPerPixelY, _ m_hWndParent, 0, App.hInstance, ByVal 0&) If (m_hWnd <> 0) Then ' Установить окно пользователя для управления UpDown. ' Возвращаемое значение - дескриптор предыдущего окна пользователя Call SendMessage(m_hWnd, UDM_SETBUDDY, m_BuddyhWnd, ByVal 0&) End If End If
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д