Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Form Parent setzen (https://www.delphipraxis.net/179783-form-parent-setzen.html)

user0815 1. Apr 2014 13:39

Form Parent setzen
 
wenn ich diesen Code nehme, wie kann ich dann den Parent der Form setzen ?


Delphi-Quellcode:
procedure TFormMain.CreateAndShowForm(FormClass: TFormClass; var Reference);
begin
  if not Assigned(TComponent(Reference)) then
  begin
    Application.CreateForm(FormClass, Reference);
    TCustomForm(Reference).Parent := PanelMain; // versucht
  end;

  with TCustomForm(Reference) do
  begin
    Show;

    if WindowState = wsMinimized
     then WindowState := wsNormal;
  end;
end;
Zeile: TCustomForm(Reference).Parent := PanelMain;

Die Zeile funktioniert, das erzeugte Form kann ich nicht über das Panel des Hauptformulars hinaus bewegen, aber ich kann ein Edit Feld oder Memo was auf diesem Form liegt nicht benutzen. Auf einen Button oder eine CheckBox auf dem Form kann ich allerdings drücken... ?

Bummi 1. Apr 2014 16:45

AW: Form Parent setzen
 
Nur Workarounds, die Edits/Memos sind focusierbar/bearbeitbar erreichbar z.B. durch TAB, was nicht funktioniert ist die Fokussierung durch Mausklick.
Das Verhalten verschwindet wenn man BorderStyle auf bsNone stellt, ansonsten könnte man für die Nachfahren von TCustomEdit ein Event versorgen.
Delphi-Quellcode:
procedure TForm6.AllEditsMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
   TCustomEdit(Sender).SetFocus;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:04 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz