Форум » [x]Harbour » Раскладка клавы после запуска задачи » Ответить

Раскладка клавы после запуска задачи

Dima: Терминал GTWVT , как после запуска задачи установить нужную раскладку клавы ? Допустим в момент запуска в винде стояла украинская раскладка а надо после запуска задачи установить English

Ответов - 22, стр: 1 2 All

Dima: Проехали , нашел на форуме.

Dima: Есть только один вопросец. При сборке вылазит ворнинг [pre2] Warning W8065 test.prg 29: Call to function 'hb_retc' with no prototype in function HB_FUN_RASKLADKA [/pre2] Как его побороть ? Тестовый пример [pre2] proc main REQUEST HB_GT_WVT_DEFAULT REQUEST HB_LANG_RU866 HB_LANGSELECT("RU866") REQUEST HB_CODEPAGE_RU866 hb_cdpSelect( "RU866" ) setcolor("w/n") eng() c:=" " cls @ 10,10 get c picture "xxxxxxxxxxx" read ? RASKLADKA() wait return nil #PRAGMA BEGINDUMP #include "Windows.h" HB_FUNC(UKR) { LoadKeyboardLayout("00020422", KLF_ACTIVATE) ; } HB_FUNC(RUS) { LoadKeyboardLayout("00000419", KLF_ACTIVATE) ; } HB_FUNC(ENG) { LoadKeyboardLayout("00000409", KLF_ACTIVATE) ; } HB_FUNC(RASKLADKA) { TCHAR m_PreviousLayout[KL_NAMELENGTH] ; GetKeyboardLayoutName(m_PreviousLayout); hb_retc(m_PreviousLayout); } #pragma ENDDUMP [/pre2]

santy: Добавьте строку #include "hbapi.h" [pre2] #PRAGMA BEGINDUMP #include "Windows.h" #include "hbapi.h" HB_FUNC(UKR) { LoadKeyboardLayout("00020422", KLF_ACTIVATE) ; } HB_FUNC(RUS) { LoadKeyboardLayout("00000419", KLF_ACTIVATE) ; } HB_FUNC(ENG) { LoadKeyboardLayout("00000409", KLF_ACTIVATE) ; } HB_FUNC(RASKLADKA) { TCHAR m_PreviousLayout[KL_NAMELENGTH] ; GetKeyboardLayoutName(m_PreviousLayout); hb_retc(m_PreviousLayout); } #pragma ENDDUMP [/pre2]


Dima: santy Сенкс !

Sergy: Попробовал запустить функцию ENG() перед вводом пароля, чтобы народ голову не ломал (все логины и пароли в латинице). Заметил, что во время набора пароля ИСЧЕЗАЕТ системный лоток Windows с индикатором RU/EN. Появляется только если пару раз переключить RU <-> EN кнопками вручную. Убрал вызов функции - все ок, лоток на месте. Никаких сторонних русификаторов наподобие PuntoSwitcher не используется. Никто не сталкивался с таким приколом ?

Dima: Sergy У мну норм PS я перед вводом пароля делаю так [pre2] hhklv:=HB_IdleAdd({|| Klavka()}) апосля как пароль введен IF ! Empty( hhklv ) hb_idleDel( hhklv ) ENDIF Func klavka() local rsl:=RASKLADKA() local klv:="х/з" hb_releaseCPU() if rsl=="00000419" //rus klv="Рус" elseif rsl=="00020422" //ukr klv:="Укр" elseif rsl=="00000409" //eng klv:="Eng" endif hb_DispOutAt(19,23,padc(klv,5),"n/w*") return nil [/pre2]

Sergy: Dima пишет: У мну норм Дмитрий, подобную штуку хотел реализовать, да не знал как (народ привык к RKM.COM, висевшему в правом верхнем углу). Речь идет именно о системном лотке Windows RU/EN висящем в правом нижнем углу, рядом с часами. Посмотрите после пары-тройки нажатий на кнопки. Проверял на двух машинах (рабочей и домашней). Реакция - идентичная.

Dima: Cкрин то я не зря повесил и там видно что все нормик Системный лоток в XP он иногда глючит.

Dima: Sergy пишет: Дмитрий, подобную штуку хотел реализовать, да не знал как (народ привык к RKM.COM, висевшему в правом верхнем углу По этой методе вешать в проге на всем ее протяжении работы индикатор не стоит ибо будет тормоз и надо несколько иначе делать. Я вешаю такой индикатор только при вводе пароля

Sergy: Dima пишет: По этой методе вешать в проге на всем ее протяжении работы индикатор не стоит ибо будет тормоз и надо несколько иначе делать. Я вешаю такой индикатор только при вводе пароля Я повесил "на попробовать", но он у меня упорно показывает Eng Ввод переключаю, ввожу русский и латиницу - системный индикатор работает правильно, а этот упорно говорит "Eng". Опять чудеса на виражах, блин. :(

Dima: Это работает под терминалом GTWVT (GTWVG) только

Sergy: Dima пишет: Это работает под терминалом GTWVT (GTWVG) только о как... тогда отложим на потом...

Dima: а ты под GTWIN собрался работать ;) ? И еще видать на полный экран как в Clipper ;) Уходить надо с этого режима так как Full Screen почикал Microsoft начиная с Vista Мои пользователи тоже сидели на Clipper в Full Screen и когда сделал перевод под Harbour c терминалом Gtwvt они привыкали ровно пару тройку дней.

Sergy: Dima пишет: а ты под GTWIN собрался работать Нет конечно - консольное окно, все давно привыкли еще начиная с Win95. Кстати, есть офигенный точечный шрифт 12*28 - просто сказка, файл называется splushka.fon - рекомендую. Подскажи плиз - какие могут быть грабли при переходе на GTWVT и с чего правильнее начать ? Про преимущества наслышан.

Dima: Да ты начни а грабли сами тебя найдут и потом с вопросами сюда ;)

Dima: Sergy пишет: с чего правильнее начать ? Привет мир под gtwin ты собирать умеешь , сделай тоже самое под Gtwvt , с шрифтами поиграйся , размерами экрана , почувствуй разницу между терминалами. А подводных камней вроде и нет там во всяком случае в Harbour 3.2

Sergy: Dima пишет: Dima пишет: Привет мир под gtwin ты собирать умеешь , сделай тоже самое под Gtwvt , с шрифтами поиграйся , размерами экрана , почувствуй разницу между терминалами. А подводных камней вроде и нет там во всяком случае в Harbour 3.2 Чет никак не могу понять, как использовать системные "точечные шрифты", что были доступны в меню выбора при клике по верхнему левому углу экрана. Пробовал hb_gtInfo( HB_GTI_FONTNAME, "fixed" ) hb_gtInfo( HB_GTI_FONTNAME, "fixedsys" ) hb_gtInfo( HB_GTI_FONTNAME, "fixed font" ) не помогает - какая-то фигня типа Lucida Console получается...

Dima: Lucida Console правильный моноширинный шрифтец а моноширинных нормальных (TTF) не много ,не считая тех что появились в win7 Скрин что выше я показывал там именно Lucida Console. Попробуй установить шрифт Terminal он тоже моноширинный и увидишь разницу. С точечными не уверен да и не юзаю их и возможно там будут косяки.

Sergy: вот что считаю на сегодняшний день отличным вариантом: Это "точечный шрифт" по мнению Windows. Про Lucida Console и пр. - в курсе. Это все не то... Попробуй установить шрифт Termina Кстати - ДА! Заработало, спасибо.

Dima: Dima пишет: elseif rsl=="00020422" //ukr что то укр мова не распознается. может цифирки не те ?



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