Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > listbox как нажать программно onkeyup


Автор: Pcrepair 22.11.2022, 10:06
Добрый день.

есть в наличии

Код

procedure TMain.Button1Click(Sender: TObject);
begin
  Button2.Click; // тут все по букварю, работает. это просто пример того что нужно
  
  // тут нужно вызвать обработчик ListBox1KeyUp со всеми его потрохами 
  ListBox1.SetFocus;  // тут норм
  ListBox1.ItemIndex := 0;  // тут норм
  ListBox1.OnClick(nil);  // а тут выскакивает исключение вместо того чтобы(как в букваре)? вызвать обработчик
end;

procedure TMain.Button2Click(Sender: TObject);
begin
  //
end;

procedure TMain.ListBox1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
  if (Key = VK_RETURN) then
  begin
    //
  end;
end;


исключение тут:

Код

unit Vcl.Controls;
procedure TControl.Click;
begin
  { Call OnClick if assigned and not equal to associated action's OnExecute.
    If associated action's OnExecute assigned then call it, otherwise, call
    OnClick. }
  if Assigned(FOnClick) and (Action <> nil) and not DelegatesEqual(@FOnClick, @Action.OnExecute) then
    FOnClick(Self)
  else if not (csDesigning in ComponentState) and (ActionLink <> nil) then
    ActionLink.Execute(Self)
  else if Assigned(FOnClick) then
    FOnClick(Self);
end;


вопрос: как имитировать ListBox1KeyUp?

Заранее спасибо за ответы по ЗАДАННЫМ вопросам

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)