Форум » [x]Harbour » [?]GtWin+GtWvt » Ответить
[?]GtWin+GtWvt
Dima: Есть программа с Gtwin терминалом. Для просмотра картинок из нее я вызываю другую прогу с Gtwvt терминалом которая картинку и показывает. А можно ли это дело совместить , что бы просмотр картинки производился из той же проги (Gtwin) , с созданием нового окна Gtwvt или еще как то ?
Ответов - 17
AlexMyr: Из xhb-diff.txt ### MULTI WINDOW GTs AND RUNTIME GT SWITCHING ### ... i.e. application can use one GTWIN console (MS-Windows console window) and many GTWVT console windows. и посмотреть пример core\tests\gtwin.prg
Dima: AlexMyr Спасибо , счас пробнем ;)
Dima: А как переключить фокус ввода на вновь созданное окно ? Вроде должно работать а не работает. Вот такой код [pre2] pGT1 := hb_gtCreate( "WVG" ) pGT := hb_gtSelect( pGT1 ) hb_GTInfo(HB_GTI_WINTITLE, "Для выхода нажмите любую клавишу") ? "test" wait hb_gtSelect( pGT ) pGT1 := NIL [/pre2] Но я остаюсь все равно в главном окне а новое создается рядом но не получает фокус ввода. Что не так делаю ?
Dima: И да. Если собирать с опцией -gui то все так как я описал Если с опцией -std , тогда новое окно изображается за основным. Блин........
Andrey: Dima пишет: Есть программа с Gtwin терминалом. Для просмотра картинок из нее я вызываю другую прогу с Gtwvt терминалом которая картинку и показывает Переходи сразу на один Gtwvt-терминал и не будет проблем ! А картинки, чтобы не пропадали с экрана (после сворачивания) переделай на МиниГуи, 5 строк кода... Если надо, помогу.
Dima: Andrey пишет: А картинки, чтобы не пропадали с экрана (после сворачивания) переделай на МиниГуи, 5 строк кода... Подробнее можно ? Задача у меня GTWIN , переделать под GTWVT(WVG) не проблема , каким боком тут МиниГуи не пойму. Проясни плиз ! Юзеры не хотят GUI морду , им подавай "аля-консоль" но с возможностью графики.
Andrey: Dima пишет: каким боком тут МиниГуи не пойму. Проясни плиз ! После вывода картинки в консоль и после сворачивания этого окна - картинка пропадает ! Или ты добился того, что бы не пропадала ? Вот я и предлагаю, сделать показ картинки на МиниГуи...
Dima: Andrey пишет: Или ты добился того, что бы не пропадала ? Пока нет , но куда копать кажется знаю
Dima: Ни кто не поделится рецептом вычисления ширины и высоты фонта Lucida Console для разных разрешений !? Окно должно иметь примерно одинаковый размер для разных разрешений. Терминал GtWVT (WVG)
Dima: Один из вариантов [pre2] hb_gtInfo(HB_GTI_FONTNAME, 'Lucida Console') nWidth := HB_GtInfo(HB_GTI_DESKTOPWIDTH) nHeight := HB_GtInfo(HB_GTI_DESKTOPHEIGHT) nFontH := Int(nHeight/25) nFontW := Int(nWidth /80) HB_GtInfo(HB_GTI_FONTSIZE , nFontH) HB_GtInfo(HB_GTI_FONTWIDTH, nFontW) [/pre2]
Andrey: Dima пишет: Ни кто не поделится рецептом вычисления ширины и высоты фонта Lucida Console для разных разрешений !? Шрифты имеют строго заданный размер. Смотри мой пример для хХарбора. Там есть выбор и установка шрифта под разные разрешения экрана !
Dima: Andrey Вариант что выше я выложил прокатил нормально
nick_mi: Терминал GTWVT apaint := {} . . . Wvt_DrawImage( 0,1,3,20, "test.jpg" ) aAdd( aPaint, { '' , {||Wvt_DrawImage( 0,1,3,20, "test.jpg" )},nil } ) apnt := wvtsetpaint (aPaint) Изображение остается и при перемещении, и при сворачивании-разворачивании
Dima: nick_mi Какая версия (x)Harbour ? В Harbour 3.2 в чистом WVT нет функций wvtsetpaint , Wvt_DrawImage И если собрать вместе с gtwvg то картинка все равно исчезает при сворачивании окна Исходник [pre2] #include "hbgtinfo.ch" proc Main() REQUEST HB_GT_WVG_DEFAULT apaint := {} hb_GTInfo(HB_GTI_WINTITLE, "test") cls Wvt_DrawImage( 0, 0, MaxRow(), MaxCol(), "111.jpg" ) aAdd( aPaint, { '' , {||Wvt_DrawImage( 0, 0, MaxRow(), MaxCol(), "111.jpg" )},nil } ) apnt := wvtsetpaint (aPaint) wait RETURN NIL [/pre2] HBP файлик [pre2] -lgtwvg -lhbwin -nulrdd -workdir=obj -otest.exe -inc -gtwvt -gui test.prg [/pre2] Где косяк ?
petr707: Насколько понял, см. ссылку [url=https://groups.google.com/forum/?fromgroups#!searchin/harbour-users/font$20size/harbour-users/TAK8FAxOBQw/tg-LT8_zcS0J]click here[/url]
nick_mi: Виноват, не все собрал до кучи... Вот так у меня работает с вашим HBP #include "hbgtinfo.ch" proc Main() REQUEST HB_GT_WVG_DEFAULT apaint := {} hb_GTInfo(HB_GTI_WINTITLE, "test") cls Wvt_DrawImage( 0, 0, MaxRow(), MaxCol(), "111.jpg" ) aAdd( aPaint, { '' , {||Wvt_DrawImage( 0, 0, MaxRow(), MaxCol(), "111.jpg" )},nil } ) apnt := wvtsetpaint (aPaint) wait RETURN NIL /*----------------------------------------------------------------------*/ /* This function must be linked with the application * для перерисовки при перемещении окна*/ FUNCTION Wvt_Paint() WvtPaintObjects() RETURN NIL
Dima: nick_mi Да так работает
полная версия страницы