Форум » [x]Harbour » Установка координат окна в GTWIN » Ответить

Установка координат окна в GTWIN

ort: Всем привет! Нужно изменить координаты консольного окна в GTWIN, а функция hb_gtInfo( HB_GTI_SETPOS_XY ) работает только в GTWVT. Может кто знает, как это сделать?

Ответов - 6

SergKis: Может EnumWindows() bp hmg поможет получить hWnd тема http://clipper.borda.ru/?1-1-0-00000582-000-0-0-1580986789

SergKis: PS Handle окна появится после первой команды вывода на экран CLS @ ... SAY ... ? ... ?? ...

PSP: ort пишет: работает только в GTWVT Когда-то это было для меня одной из причин перейти на GTWVT.


Dima: PSP пишет: Когда-то это было для меня одной из причин перейти на GTWVT. +1

SergKis: Dima пишет +1 К сожалению не всегда задачу с clipper удается перевести на wvt, если куча модулей через bat запуск и каждая - продолжение предыдущего запуска по оформлению экрана. Такую задачу лучше оставить в console, переводить в wvt трудоемко и не оправдано по трудозатратам. Проще сделать запуск win, wvt программ через "запускальщик", к примеру, на hmg. Т.е. (y,x можно из ini файла брать или др. источника)[pre2] ... FOR EACH j IN aParam IF left(j, 1) != '-' cPar += ' '+ j LOOP EndIf If lower(left(j, 2)) == '-y' ; y := val(subs(j, 4)) ElseIf lower(left(j, 2)) == '-x' ; x := val(subs(j, 4)) ElseIf lower(left(j, 4)) == '-exe' ; cRun := subs(j, 6) ElseIf lower(left(j, 4)) == '-run' ; cRun := subs(j, 6) ElseIf lower(left(j, 4)) == '-bat' ; cRun := '%CALL% '+subs(j, 6) EndIf NEXT ... Запускать exe\bat и ловить Handle (как в ссылке по теме) и ставить нужные y, x row := y col := x width := GetWindowWidth (hTmp) height := GetWindowHeight(hTmp) MoveWindow ( hTmp , nCol , nRow , width , height , .T. ) // меняем позицию окна ... [/pre2]

ort: Друзья, спасибо за идеи, но я, кажется, нашел то, что искал... В C:\MiniGUI\SOURCE\c_windowsAPI.c есть такая функция: HB_FUNC( SETWINDOWPOS ) { hb_retl( ( BOOL ) SetWindowPos( ( HWND ) HB_PARNL( 1 ), ( HWND ) HB_PARNL( 2 ), hb_parni( 3 ), hb_parni( 4 ), hb_parni( 5 ), hb_parni( 6 ), hb_parni( 7 ) ) ); } И вроде бы даже работает!



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