Форум » GUI » Странное поведение DefineHotKey.... » Ответить

Странное поведение DefineHotKey....

Andrey: Запускаю прогу на МиниГуи, открываю Far и при редактировании текста не могу поставит цифры 1,2,3,4,5 и клавиши F1-F5. Да только что пробовал набрать эти цифры здесь на форуме и они не набираются. Я давно этот вопрос хотел задать, да времени всё не хватало. Т.е. у меня в Минигуи меню с кнопками и сделано так: [pre2]{ VK_F1, 49 } { VK_F2, 50 } { VK_F3, 51 } { VK_F4, 52 } { VK_F5, 53 } aN := aBtn[ nI ][8] // HotKey array IF ! Empty( aN ) // Define HotKey IF HB_ISARRAY( aN ) FOR nK := 1 TO Len( aN ) _DefineHotKey( This.Name , 0 , aN[ nK ] , hb_MacroBlock( "_wPost(2, , '"+cN+"')" ) ) NEXT ELSE _DefineHotKey( This.Name , 0 , aN , hb_MacroBlock( "_wPost(2, , '"+cN+"')" ) ) ENDIF ENDIF ..... DEFINE TIMER Timer_1 INTERVAL (StaticTimeUpdate * 100) * 1000 ACTION myListUsers() ..... :Event( 2, {|ow,ky,cn| ow:=ky, This.&(cn).Setfocus, _PushKey( VK_SPACE ) } )[/pre2] Как такое может быть и как от этого избавиться ?

Ответов - 5

SergKis: Andrey пишет Как такое может быть и как от этого избавиться ? Это нормальное поведение hmg (было всегда) для _definehotkey и консольного far. Избавиться можно попробовать, на gotfocus ставить hotkey на окно, по lostfocus удалять. Схему (даже рыба была) эту тебе давал ранее, смотри

Andrey: Да уж, не ожидал...

SergKis: SergKis пишет Избавиться можно попробовать, на gotfocus ставить hotkey на окно, по lostfocus удалять. Не поможет, т.к. назначения и обработка останутся старые. Назначай на тсб и держи в фокусе - поможет или от far избавиться


Andrey: SergKis пишет: Не поможет, т.к. назначения и обработка останутся старые. У меня окно на кнопках, несколько штук таких есть. Легче тогда отказаться от DefineHotKey в них. Хотя юзера будут страдать... Привыкнут. А почему МиниГуи так влияет на другие проги ? Т.е. в Мизиле тоже не могу набрать 1-5, в Блокноте такая же беда. Круто поступает МиниГуи...

Andrey: Пришлось отказаться СОВСЕМ от DefineHotKey. Вешается прога на МиниГуи если запущена с 1С.



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