Форум » GUI » Вид фориы в разных ОС и темах » Ответить

Вид фориы в разных ОС и темах

alex_II: Цель – сделать программу не зависящей от операционной системы (от XP до W8) и установленной темы. Если текущие параметры окна (заголовок, бордюр, высота меню) определить можно, то с такими элементами как toolbar и statusbar у меня возникли трудности. Сколько не бился так и не смог найти способ определить их высоту. Может кто-нибудь уже сталкивался с этой проблемой?

Ответов - 4

SergKis: alex_II пишет:Если текущие параметры окна (заголовок, бордюр, высота меню) определить можно, то с такими элементами как toolbar и statusbar у меня возникли трудности. Сколько не бился так и не смог найти способ определить их высоту. Может кто-нибудь уже сталкивался с этой проблемой? Используйте: nHandleSplitBox := _DefineSplitBox(cFormName) вместо DEFINE SPLITBOX и nHeightSplitBox := GetWindowHeight(nHandleSplitBox) nHandleStatus := GetControlHandle('STATUSBAR', cFormName) и nHeightStatus := GetWindowHeight(nHandleStatus)

alex_II: 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

SergKis: 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) ...


alex_II: SergKis пишет: ToolBar такой же контрол - с ним можно GetWindowHeight(getControlHandle('ToolBar_ls', cFormName)), но toolbar у Вас на SPLITBOX - надо размер его. В DEFINE SPLITBOX (i_splitbox.ch) вызов _DefineSplitBox(cFormName), возвращающая handle. Я делаю так: Спасибо за разъяснение, всё получилось



полная версия страницы