1 (edited by sibprogsistem 2020-05-02 11:37:24)

Topic: FindComponent

мне нужно установить фокус на заранее не известный компонент
либо TMemo либо TEdit....

procedure Form1_pQuestionQuect_OnMouseEnter (Sender: TObject);
var
sTC:Tcomponent;
begin
  if (Form1.TagString <> '') then begin
      sTC:=Form1.FindComponent(Form1.TagString);
      TMemo(sTC).SetFocus;
  end;
end;

Re: FindComponent

Это возможно:

procedure Form1_pQuestionQuect_OnMouseEnter (Sender: TObject);
var
  tmpComponent:Tcomponent;
begin
  if (Form1.TagString <> '') then
  begin
    tmpComponent := Form1.FindComponent(Form1.TagString);
    if tmpComponent <> nil then
      if tmpComponent is TWinControl then
        TWinControl(tmpComponent).SetFocus;
  end;
end;
Визуальное программирование: блог и телеграм-канал.

Re: FindComponent

k245 wrote:

Это возможно:

procedure Form1_pQuestionQuect_OnMouseEnter (Sender: TObject);
var
  tmpComponent:Tcomponent;
begin
  if (Form1.TagString <> '') then
  begin
    tmpComponent := Form1.FindComponent(Form1.TagString);
    if tmpComponent <> nil then
      if tmpComponent is TWinControl then
        TWinControl(tmpComponent).SetFocus;
  end;
end;

СПАСИБО!