Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > элементы управления


Автор: rold 23.6.2008, 21:55
вот возникла небольшая загвоздка: есть окно, в нем несколько радио-кнопок, объединенных групповой рамкой, slider и spiner. создал я в своем окошке status bar. все работает, все хорошо, кроме одного момента, когда я начинаю менять размер окна, и когда мой статус бар доходит до моих элементов управления(радио кнопок и спинеров), то получается так, что они отрисовываются поверх статус бара. простая логика подсказывает, что проблему можно решить урезанием клиентской области на высоту статус бара, вот и вопрос - как это сделать. какими такими хитрыми регионами отсечения(пробовал, ничего не вышло), или может как еще?

зы: и еще одна загвоздка, как у слайдера минимум и максимум подписать, какой такой стиль нужен, или какое сообщение отправить?Оо искал - ничего не нашел(

зарание благодарен за помощь)

Автор: Earnest 24.6.2008, 09:22
1) Можно, конечно, размер клиентской области регулировать, но тогда возникнут проблемы со статус-баром, который тоже хочет создаваться в клиентской области. Мне кажется, в твоем случе логичнее всего не допускать ужатия окна сверх заданной высоты - обрабатывай WM_GETMINMAXINFO. Второй вариант -  создать дочернюю панель как дочернюю к основному диалогу, и переместить туда все элементы кроме статус бара. При изменении размеров уменьшать высоту панели.
2) TBS_TOOLTIPS, если ты имеешь в виду всплывающие подсказки. 

Автор: rold 24.6.2008, 11:42
хм.. с первым ясно, спасиб, собственно пока сделал первый вариант, ограничил возможность "сжатия окна")
а про второе - тултипы я слайдеру поставил. мне нужно слева и справа от слайдера подписать его максимальное и минимальное значения. возможно ли это сделать приписав этому самому слайдеру какой-то стиль, или надо просто в wm_paint прорисовывать тектс под ним?


Автор: Earnest 25.6.2008, 08:01
Это обычно просто текст. Сделай статики, чего с пайнтом мучаться...

Автор: rold 25.6.2008, 11:20
ясно, спс

Автор: rold 25.6.2008, 19:35
Модератор: Сообщение скрыто.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)