ActiveX Forms и проблема с VK_UP, VK_DOWN ...
От: dundich  
Дата: 22.01.03 19:44
Оценка:
Люди, есть ActiveX форма с гридом.

по клавишам vk_up, vk_down, vk_left, vk-Rigth, vk_tab...
не происходит никаких перемещений.

В чем трабл?
А главное как лечить?
Re: ActiveX Forms и проблема с VK_UP, VK_DOWN ...
От: Владик Россия  
Дата: 23.01.03 06:24
Оценка:
Здравствуйте, dundich, Вы писали:

D>В чем трабл?


M$ устроила очередную подлянку борланду (или борланд неучел всех рекомендаций M$). Наблюдается, насколько я знаю, в IE. По-нормальному проблема не решается. Я с таким когда-то сталкивался и поиск на google ничего не дал кроме всяких ну очень обходных решений.

D>А главное как лечить?


Для начала попробовать более новую VCL (у меня не работало на пятой версии). Еще можно сделать простейший ActiveX на M$VC и вставить в него свой ActiveX Знакомый говорил, что так работает.
Как все запущенно...
Re[2]: ActiveX Forms и проблема с VK_UP, VK_DOWN ...
От: dundich  
Дата: 23.01.03 20:50
Оценка:
Здравствуйте, Владик, Вы писали:
В>Для начала попробовать более новую VCL (у меня не работало на пятой версии).

В более новых к примеру в 7D тоже самое....

Но покопавшись нашел вот что:
переопределил


function WantChildKey(Child: TControl; var Message: TMessage): Boolean; override;
....................................
// А вот так кривенько отработал ТРАБЛ...
// и пихаю активным контролам мессаги
function TActiveFormAx.WantChildKey(Child: TControl;
  var Message: TMessage): Boolean;
begin
  Result :=  inherited WantChildKey(Child, Message);
  if Message.Msg = WM_KEYUP  then
    case Message.WParam of
      VK_UP,VK_DOWN,VK_RIGHT,VK_LEFT:
        if Assigned(ActiveControl) and (ActiveControl<>self)then
          ActiveControl.Perform(WM_KEYDOWN,            Message.WParam, Message.LParam);
    end;
end;


ЗЫ. 90% контролов обрело, что потеряло до этого,
но этот ход конем меня не очень то устроил,
я так подозреваю, что есть вполне легальные
на этот счет методы...

Кто знает как киньте в меня сылки ... КАК ПРАВИЛЬНО ПОСТУПАТЬ.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.