On-line: гостей 1. Всего: 1 [подробнее..]
АвторСообщение





Пост N: 88
Зарегистрирован: 08.04.06
ссылка на сообщение  Отправлено: 21.07.07 04:00. Заголовок: xHarbour релиз 0.99.71 + GTWVT = ошибки


Очень интересно работает FT_CTRL() - первое нажатие какой-либо комбинации с Ctrl (например Ctrl C) даёт .T., отпускаем и нажимаем её снова - получаем FT_CTRL() =.F.

Нажатие PgDn в TBrowse изначально в большинстве случаев (но не всегда!!!) вызывает реакцию FT_CTRL() = .T. Переключаю регистр (у меня он по Ctrl Shift) - и FT_CTRL() на последующие нажатия PgDn начинает реагировать правильно (.F.). Вот прикол-то!

Спасибо: 0 
Профиль
Ответов - 7 [только новые]







Пост N: 90
Зарегистрирован: 08.04.06
ссылка на сообщение  Отправлено: 23.07.07 06:29. Заголовок: С GTWIN - та же история!


Значит, проблема в функции FT_CTRL()!
Кстати, я писал об этом ещё 11 марта 2007 года в теме "Ещё одно несоответствие xHarbour и Clipper"... :-[

Спасибо: 0 
Профиль





Пост N: 92
Зарегистрирован: 08.04.06
ссылка на сообщение  Отправлено: 13.08.07 00:31. Заголовок: Re:


Ау, народ!!! Нажатие CTRL вообще никто не проверяет, что ли? А как тогда различаете Ctrl C и PgDn, Ctrl A и Home, Ctrl V и Insert и так далее? Ведь таких сдвоенных больше десятка!

Спасибо: 0 
Профиль





Пост N: 151
Зарегистрирован: 08.04.06
ссылка на сообщение  Отправлено: 16.01.08 19:58. Заголовок: Итак, в xHarbour у м..


Итак, в xHarbour у меня осталась практически одна эта проблема, которая имеет место быть аж с весны 2007 года. Никто ничего не посоветует?

Спасибо: 0 
Профиль
Администратор




Пост N: 717
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 16.01.08 23:11. Заголовок: Разобрался я с глючк..


Разобрался я с глючком в nanfor, поправлю. Но хотелось бы это сделать красиво, чтобы сразу для других терминалов работало

Пока же для gtwvt замена будет такой:

if (gtInfo(GTI_KBDSHIFTS) & GTI_KBD_CTRL) # 0

соответственно так же можно проверять и другие клавиши

if (gtInfo(GTI_KBDSHIFTS) & GTI_KBD_ALT) # 0

if (gtInfo(GTI_KBDSHIFTS) & GTI_KBD_SHIFT) # 0


Спасибо: 0 
Профиль





Пост N: 152
Зарегистрирован: 08.04.06
ссылка на сообщение  Отправлено: 17.01.08 03:27. Заголовок: Re: Pasha


Pasha, огромное тебе СПАСИБО!

Спасибо: 0 
Профиль



Пост N: 23
Зарегистрирован: 19.12.06
ссылка на сообщение  Отправлено: 17.01.08 09:48. Заголовок: еще год назад замети..


еще год назад заметил этот глюк - пока спасаюсь вызовом функции getkeystate() - работает для gtwvt / gtwvw
#include "winuser.ch"
case abs (getkeystate(VK_SHIFT)) >100
return 1 // SHIFT
case abs (getkeystate(VK_CONTROL)) >100
return 2 // CTRL
case abs(GetKeyState(VK_MENU))>100
return 3 // ALT

исходник из what32
// WINUSERAPI SHORT WINAPI GetKeyState( IN int nVirtKey);
HB_FUNC( GETKEYSTATE )
{
hb_retni( GetKeyState( hb_parni( 1 ) ) ) ;
}





Спасибо: 0 
Профиль





Пост N: 157
Зарегистрирован: 08.04.06
ссылка на сообщение  Отправлено: 17.01.08 20:05. Заголовок: Re: k_dima


k_dima пишет:

 цитата:
пока спасаюсь вызовом функции getkeystate()


А я пока создал три доп. функции - FT_ALT(), FT_CTRL() и FT_SHIFT() и вогнал в них вариант от Pasha, чтобы текст не перелопачивать, и проблема решена...

Спасибо: 0 
Профиль
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 105
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет