Люди, есть ActiveX форма с гридом.
по клавишам vk_up, vk_down, vk_left, vk-Rigth, vk_tab...
не происходит никаких перемещений.
В чем трабл?
А главное как лечить?
Здравствуйте, dundich, Вы писали:
D>В чем трабл?
M$ устроила очередную подлянку борланду (или борланд неучел всех рекомендаций M$). Наблюдается, насколько я знаю, в IE. По-нормальному проблема не решается. Я с таким когда-то сталкивался и поиск на google ничего не дал кроме всяких ну очень обходных решений.
D>А главное как лечить?
Для начала попробовать более новую VCL (у меня не работало на пятой версии). Еще можно сделать простейший ActiveX на M$VC и вставить в него свой ActiveX

Знакомый говорил, что так работает.
Здравствуйте, Владик, Вы писали:
В>Для начала попробовать более новую 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% контролов обрело, что потеряло до этого,
но этот ход конем меня не очень то устроил,
я так подозреваю, что есть вполне легальные
на этот счет методы...
Кто знает как киньте в меня сылки ... КАК ПРАВИЛЬНО ПОСТУПАТЬ.