Вот начал изучать Property sheet. Решил написать программку для изменения некоторых параметров стиля оформления. Сделал в ресурсах один edit и один msctls_updown32. Но вот чудо! Они объединились в один элемент! И теперь вместе интереснейшим образом работают! Пробовал тоже самое сделать с DialogBoxParam'ом, ан нет, это работает только в Property Sheet (возможно я что-то упустил). Почему так? _80976523__sysinfo.zip
Может сюда порыть: UDM_SETBUDDY UDS_AUTOBUDDY Должно с любым окном работать, не только Property sheet
1.UDM_SETRANGE 2.Почему ж перепутаны? Нажатие нижней кнопки уменьшает число, верхней - увеличивает. Если не нравится, можешь отслеживать изменения в едите и корректировать по своему.
cresta У меня наоборот почему-то получилось. Но UDM_SETRANGE все исправил. Какой самый простой способ узнать, изменилось ли значение edit'а? Неужели надо сверять его со старым?
вообще-то практически любой контрол посылает своему родителю те или иные сообщения, которые описывают в т.ч. и действия юзера, например нажатие кнопки. Если почитать msdn, можно найти в нём много интересного, например, что за сообщение такое UDN_DELTAPOS, и когда и кому оно посылается.
cresta UDN_DELTAPOS смотрел. Оно посылается, когда значение хочет измениться. Даже если уже предел, член delta не равен нулю. Можно WM_HSCROLL | WM_VSCROLL, но тоже контролировать нужно значения. Вот думал, как попроще это делать.
Position and Acceleration ... To retrieve the current position of an up-down control, use the UDM_GETPOS message. For an up-down control with a buddy window, the current position is the number in the buddy window's caption. Because the caption may have changed (for example, the user may have edited the text of an edit control), the up-down control retrieves the current caption and updates its current position accordingly. ... The UDM_SETPOS message sets the current position of a buddy window. Note that unlike a scroll bar, an up-down control automatically changes its current position when the up and down arrows are clicked. An application, therefore, does not need to set the current position when processing the WM_VSCROLL or WM_HSCROLL message. You can change the minimum and maximum positions of an up-down control by using the UDM_SETRANGE message. The maximum position may be less than the minimum, and in that case clicking the up arrow button decreases the current position. To put it another way, up means moving towards the maximum position. To retrieve the minimum and maximum positions for an up-down control, use the UDM_GETRANGE message.
q_q А зачем Нашел выход. Нуно просто стиль у едита поставить, чтобы цыфры только пускал и использовать вышеприведенное сообщение.