Панели инструментов на WinAPI
От: Vadimka74  
Дата: 10.10.12 07:16
Оценка:
Имеется оконное приложение. GUI на WinAPI.
Для создания панелей инструментов создается ребар:
hRebar = CreateWindowEx(WS_EX_TOPMOST|WS_EX_TOOLWINDOW|WS_EX_LEFT|WS_EX_CONTROLPARENT,REBARCLASSNAME,0,WS_CHILD|WS_VISIBLE|WS_CLIPSIBLINGS|WS_CLIPCHILDREN|WS_BORDER|CCS_NODIVIDER| RBS_BANDBORDERS,0,0,0,0,hMain,(HMENU)1,g_hInstance,0);
далее заполняется структура с REBARINFO
.
SendMessage(hRebar, RB_SETBARINFO, 0, (LPARAM)&rbi);

панели создаются этой же функцией
hToolBarConstruct = CreateWindowEx( 0,TOOLBARCLASSNAME, 0, WS_CHILD|WS_VISIBLE|WS_CLIPSIBLINGS|TBSTYLE_TOOLTIPS|CCS_NORESIZE|CCS_NODIVIDER|CCS_NOPARENTALIGN|TBSTYLE_LIST|TBSTYLE_FLAT,0,0,0,0,hRebar,(HMENU)IDTB_PAN,g_hInstance,0);
далее в тулбар добавляются кнопки, подключаются иконки.
далее следующий тулбар и т.д.
Панели инструментов получаются плавающими, разъезжающими на несколько строчек.
Хотелось либо вообще зафиксировать панели, либо сделать автоматом пристыковывающимися друг другу. Панелей должно быть несколько с возможностью скрытия каждой в отдельности.
Перебирал стили ребара, тулбара пока не выходит.

11.10.12 13:25: Перенесено модератором из 'Пользовательский интерфейс: проектирование, usability' — Кодт
панель инструментов toolbar winapi
Re: Панели инструментов на WinAPI
От: Pavel Dvorkin Россия  
Дата: 12.10.12 16:52
Оценка:
Здравствуйте, Vadimka74, Вы писали:

V>Хотелось либо вообще зафиксировать панели, либо сделать автоматом пристыковывающимися друг другу. Панелей должно быть несколько с возможностью скрытия каждой в отдельности.

V>Перебирал стили ребара, тулбара пока не выходит.

В MFC все это есть, посмотри код там. Достаточно кода старой MFC (VS 2005 или 2008 без SP1), там был ребар и тулбар на нем.
With best regards
Pavel Dvorkin
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.