Форум » [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 Да так работает



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