Автор | Сообщение |
|
| |
Пост N: 91
Зарегистрирован: 12.07.06
|
|
Отправлено: 25.03.13 06:58. Заголовок: Вид фориы в разных ОС и темах
Цель – сделать программу не зависящей от операционной системы (от XP до W8) и установленной темы. Если текущие параметры окна (заголовок, бордюр, высота меню) определить можно, то с такими элементами как toolbar и statusbar у меня возникли трудности. Сколько не бился так и не смог найти способ определить их высоту. Может кто-нибудь уже сталкивался с этой проблемой?
|
|
|
Ответов - 4
[только новые]
|
|
|
| постоянный участник
|
Пост N: 191
Зарегистрирован: 17.02.12
|
|
Отправлено: 25.03.13 10:24. Заголовок: alex_II пишет:Если т..
alex_II пишет: цитата: | Если текущие параметры окна (заголовок, бордюр, высота меню) определить можно, то с такими элементами как toolbar и statusbar у меня возникли трудности. Сколько не бился так и не смог найти способ определить их высоту. Может кто-нибудь уже сталкивался с этой проблемой? |
| Используйте: nHandleSplitBox := _DefineSplitBox(cFormName) вместо DEFINE SPLITBOX и nHeightSplitBox := GetWindowHeight(nHandleSplitBox) nHandleStatus := GetControlHandle('STATUSBAR', cFormName) и nHeightStatus := GetWindowHeight(nHandleStatus)
|
|
|
|
| |
Пост N: 92
Зарегистрирован: 12.07.06
|
|
Отправлено: 25.03.13 11:21. Заголовок: SergKis пишет: nHan..
SergKis пишет: цитата: | nHandleSplitBox := _DefineSplitBox(cFormName) вместо DEFINE SPLITBOX и nHeightSplitBox := GetWindowHeight(nHandleSplitBox) |
| Со statusbar всё понвтно, а вот с toolbar я не понял как это использовать. Поясните пожалуйста подробнее. Toolbar описан так: DEFINE SPLITBOX DEFINE TOOLBAR ToolBar_main BUTTONSIZE 32,32 FLAT BUTTON Button_Exit PICTURE 'exit32' ACTION GoOut() ... END TOOLBAR DEFINE TOOLBAR ToolBar_ls CAPTION Space(35) @ -8,w_main-190 LABEL Label_ls WIDTH 175 HEIGHT 56 SIZE 30 RIGHTALIGN END TOOLBAR END SPLITBOX
|
|
|
|
| постоянный участник
|
Пост N: 192
Зарегистрирован: 17.02.12
|
|
Отправлено: 25.03.13 13:26. Заголовок: alex_II пишет:Со sta..
alex_II пишет: цитата: | Со statusbar всё понвтно, а вот с toolbar я не понял как это использовать |
| ToolBar такой же контрол - с ним можно GetWindowHeight(getControlHandle('ToolBar_ls', cFormName)), но toolbar у Вас на SPLITBOX - надо размер его. В DEFINE SPLITBOX (i_splitbox.ch) вызов _DefineSplitBox(cFormName), возвращающая handle. Я делаю так: DEFINE WINDOW &cWndNam ; ... hSplBox := _DefineSplitBox(cWndNam) // DEFINE SPLITBOX DEFINE TOOLBAR &cTbarNam1 OF &cWndNam ... ... END TOOLBAR DEFINE TOOLBAR &cTbarNam2 OF &cWndNam ... ... END TOOLBAR _EndSplitBox() // END SPLITBOX ... nHeightToolBar := GetWindowHeight(hSplBox) ...
|
|
|
|
| |
Пост N: 93
Зарегистрирован: 12.07.06
|
|
Отправлено: 26.03.13 05:20. Заголовок: SergKis пишет: Tool..
SergKis пишет: цитата: | ToolBar такой же контрол - с ним можно GetWindowHeight(getControlHandle('ToolBar_ls', cFormName)), но toolbar у Вас на SPLITBOX - надо размер его. В DEFINE SPLITBOX (i_splitbox.ch) вызов _DefineSplitBox(cFormName), возвращающая handle. Я делаю так: |
| Спасибо за разъяснение, всё получилось
|
|
|
|