AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Form auf Panel -> TEdit funktioniert nicht

Ein Thema von Bbommel · begonnen am 16. Jun 2011 · letzter Beitrag vom 20. Jun 2011
Antwort Antwort
Bbommel

Registriert seit: 27. Jun 2007
Ort: Köln
659 Beiträge
 
Delphi 12 Athens
 
#1

Form auf Panel -> TEdit funktioniert nicht

  Alt 16. Jun 2011, 13:18
Hallo,

ich habe eine Anwendung, bei der es in einem Form ein Panel gibt und auf diesem Panel soll wiederum ein Form angezeigt werden. Bevor die Sinnfrage gestellt wird, weil man in dem Zusammenhang auch oft liest, dass man doch dafür einfach ein Frame nehmen solle, weil das viel geeigneter ist: Ich möchte gerne, dass für dieses Form-im-Form auch eine Titelzeile angezeigt wird und außerdem soll der Benutzer es auch in der Größe ändern und innerhalb des Panel verschieben können.

Lief bisher auch alles ganz prima, jetzt kam ich aber auf die blöde Idde, auf dieses Form ein TEdit platzieren zu wollen. Und das verhält sich nun denkbar merkwürdig: Mit der linken Maustaste kann man gar nicht darein klicken, um es zu benutzen und einen Text einzugeben. Erst, wenn man mit der rechten Taste klickt, kann man das Edit benutzen und einen Text eingeben. Die normalen Funktionen der rechten Maustaste (Einfügen und so) sind nicht verfügbar.

Hat irgendwer eine Idee, woran das liegt und was man da tun kann?

Anbei ein Mini-Projekt, das das Problem demonstriert. Ein Klick auf den Button erzeugt das Form mit dem Edit, welches nicht so will, wie es soll.

Danke und bis denn
Bommel

Edit: Anhang korrigiert... da fehlte die Unit3...
Angehängte Dateien
Dateityp: zip formform.zip (8,9 KB, 13x aufgerufen)

Geändert von Bbommel (16. Jun 2011 um 13:23 Uhr)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Form auf Panel -> TEdit funktioniert nicht

  Alt 16. Jun 2011, 13:19
Wer ist der Owner, Parent?
Markus Kinzler
  Mit Zitat antworten Zitat
Bbommel

Registriert seit: 27. Jun 2007
Ort: Köln
659 Beiträge
 
Delphi 12 Athens
 
#3

AW: Form auf Panel -> TEdit funktioniert nicht

  Alt 16. Jun 2011, 13:20
Das Panel:

Delphi-Quellcode:
  
  tempForm3:=Tform3.Create(Panel1);
  tempForm3.Parent:=Panel1;
  Mit Zitat antworten Zitat
bcvs

Registriert seit: 16. Jun 2011
703 Beiträge
 
Delphi 12 Athens
 
#4

AW: Form auf Panel -> TEdit funktioniert nicht

  Alt 17. Jun 2011, 12:58
Mach mal folgendes:

tempForm3:=Tform3.Create(Panel1);
tempForm3.Parent:=Panel1;
tempForm3.Show;
SendMessage(tempForm3.Handle , WM_NCACTIVATE, 1, 0);

Damit ist dann der Titelbalken auch als aktiv dargestellt. Ich mache hier so etwas ähliches und plaziere mehrere Forms auf einem Panel. Wenn ein neues Form hinzukommt, muss dann eine
SendMessage(Handle , WM_NCACTIVATE, 0, 0) an die anderen Forms geschickt werden. Damit habe ich so eine Art MDI-Verwaltung nachgebaut.
  Mit Zitat antworten Zitat
Bbommel

Registriert seit: 27. Jun 2007
Ort: Köln
659 Beiträge
 
Delphi 12 Athens
 
#5

AW: Form auf Panel -> TEdit funktioniert nicht

  Alt 17. Jun 2011, 14:56
Das scheint ganz hervorragend zu funktionieren - vielen Dank!
  Mit Zitat antworten Zitat
bcvs

Registriert seit: 16. Jun 2011
703 Beiträge
 
Delphi 12 Athens
 
#6

AW: Form auf Panel -> TEdit funktioniert nicht

  Alt 20. Jun 2011, 08:22
Das scheint ganz hervorragend zu funktionieren - vielen Dank!
Das funktioniert auch ganz gut, aber es gibt ein paar Stolpersteine:

Bei einigen Komponenten müssen gewisse Eigenschaften nach dem Umsetzen des Form.Parent im Code nochmal neu gesetzt werden, da sie sonst nicht wirken.

Außerdem funktioniert die Eigenschaft ActiveControl des (in deinem Beispiel) TempForm3 nicht mehr korrekt, man muss das ActiveControl des MainForm abfragen.

Also: Sei darauf gefasst, dass bei diesem Design das eine oder andere zunächst nicht wie gewünscht funktioniert, es gibt aber für alles eine Lösung.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz