![]() |
Neues Formular EDIT nicht beschreibbar
Hallo,
ich habe ein Formular erstellt, wo durch ein Klick ein neues Parent-Formular erstellt wird. In dieses Formular habe ich nun mehrere Edit-Komponenten eingefügt. Leider kann ich diese nicht editieren. Allerdings funktioniert der Klick auf einen Button problemlos. :wall: Woran kann das liegen? Ich tippe auf den Focus oder auf die Active-Eigenschaft, aber beides funktioniert nicht. Viele Grüße |
AW: Neues Formular EDIT nicht beschreibbar
Schrecklich wenig Angaben zu deinem Problem. Da hilft nur die :glaskugel:, die evtl. was über ReadOnly oder Enabled sagt.
|
AW: Neues Formular EDIT nicht beschreibbar
Mal ganz langsam: was ist ein Parent-Formular? Wird das komplett zur Laufzeit erzeugt samt aller Unterkomponenten, oder hast Du es im OI zusammengeklickt und erzeugst nur Instanzen davon?
|
AW: Neues Formular EDIT nicht beschreibbar
Zitat:
Vermutung: du hads ein Formular das eine ButtononClick-Procedur enthält in der mit Hilfe von
Delphi-Quellcode:
ein weiteres Formular angezeigt wird.
form2.show;
In die auf diesem Formular enthaltenen Edit-Komponenten (TEdit?) kannst du nichts eintragen. (.Enabled schon einmal überprüft?) Ist das so richtig? Gruß K-H |
AW: Neues Formular EDIT nicht beschreibbar
Zitat:
In der Unit dieser 2.Form habe ich nichts außer die Edit-Komponenten und folgenden Code, der das Vergrößern und verschieben der Form verhindert:
Code:
procedure TNeuerKundeForm.FormCanResize(Sender: TObject; var NewWidth,
NewHeight: Integer; var Resize: Boolean); begin NeuerKundeForm.Height := Hauptform.ClientHeight; resize := false; end; procedure TNeuerKundeForm.WMNCHitTest(var Msg: TWMNCHitTest); begin DefaultHandler(Msg); if Msg.Result = HTCAPTION then Msg.Result:=0; end; procedure TNeuerKundeForm.FormCreate(Sender: TObject); const MnuCommand = SC_MOVE; var SysMenu : HMenu; begin SysMenu := GetSystemMenu(Handle, FALSE) ; DeleteMenu(SysMenu, MnuCommand, MF_BYCOMMAND); end; .Enabled überprüft, ist auf true. ReadOnly ist ebenfalls auf false. Einen Button auf dem 2.Formular kann ich problemlos anklicken und das funktioniert auch, aber Edit-Felder gehen eben nicht. Außerdem kann ich noch in die Edit-Felder auf der 1.Form etwas eintragen. |
AW: Neues Formular EDIT nicht beschreibbar
Zitat:
Delphi-Quellcode:
Du kannst doch die Werte für NewWidth und NewHeight benutzen und resize muss dann auch true sein.
procedure TNeuerKundeForm.FormCanResize(Sender: TObject; var NewWidth, NewHeight: Integer; var Resize: Boolean);
begin //NeuerKundeForm.Height := Hauptform.ClientHeight; // Das geht schief resize := false; end; |
AW: Neues Formular EDIT nicht beschreibbar
Wenn man das Formular nicht in der Größe ändern können soll, könnte man doch einfach einen von bsSizeable abweichenden BorderStyle setzen, oder täusche ich mich?
|
AW: Neues Formular EDIT nicht beschreibbar
Zitat:
Frank |
AW: Neues Formular EDIT nicht beschreibbar
Zitat:
Die Größenänderung der Form in FormCanResize mit dem anschließenden
Delphi-Quellcode:
sorgt dafür, dass das Eingabefeld nicht mehr an der Stelle sitzt, wo es vom System vermutet wird, bzw. das Fenster und ein Teil der Komponenten falsch gezeichnet werden.
Resize := false;
|
AW: Neues Formular EDIT nicht beschreibbar
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Code:
Wenn ich resize auf true setze, kann man noch die Größe ändern.
NeuerKundeForm.Height := NewHeight;
resize := false; Auch wenn ich einen anderen BorderStyle benutze und resize := true setze, ist es weiterhin nicht editierbar. Hab's mal in den Anhang geladen. |
AW: Neues Formular EDIT nicht beschreibbar
Hallo,
du benutz ein DBEdit (DatenbankEdit). Entweder du nimmst ein normales Editfeld. Ansonsten musst du das DBEdit auch mit einer Datenbank verbinden. mfg Frank |
AW: Neues Formular EDIT nicht beschreibbar
Überlege doch mal, warum in der Ereignis-Methode die drei Argumente als
Delphi-Quellcode:
deklariert sind ... evtl. klingelt da ja was ...
var
Ach ja, wenn du die globale Form-Variable benutzt, dann gilt das nur für diese eine Instanz (die es dann hoffentlich auch gibt) ... das ist eigentlich sehr ungeschickt Zitat:
|
AW: Neues Formular EDIT nicht beschreibbar
Jetzt blicke ich nicht mehr durch. :pale:
Wenn ich die 2.Form aus bsNone setze, dann geht es. Allerdings möchte ich, dass man die 2.Form schließen kann bzw. ein Rand vorhanden ist. Und Jap, das ist erstmal nicht mit der DB verbunden, war eigentlich nur zu Testzwecken und wird noch verbunden. Teste es grade mit einer normalen Edit-Komponenten. Was genau meinst du mit den Variablen? :oops: |
AW: Neues Formular EDIT nicht beschreibbar
Suchst du BorderStyle = bsDialog?
MfG Dalai |
AW: Neues Formular EDIT nicht beschreibbar
Zitat:
|
AW: Neues Formular EDIT nicht beschreibbar
Schau mal hier
![]() |
AW: Neues Formular EDIT nicht beschreibbar
Achso, innerhalb des ersten Formulars ist ein weiteres eingebettet. Na dann sieht die Sache wieder anders aus. Das war also mit "Parent-Formular" gemeint, auch wenn der Begriff irreführend ist, denn es geht ja darum, dass das neue Formular ein Kind, also ein Child, des bestehenden wird (das seinerseits der Parent ist).
Ohne mir den Code oder das Design genauer angeschaut zu haben: Wäre das nicht anders lösbar, z.B. mit Panels, Frames, Tabs (TabControl oder PageControl) oder ähnlichem? Irgendwie empfinde ich das als ziemliche Frickelei, ein Formular in ein anderes einzubetten. MfG Dalai |
AW: Neues Formular EDIT nicht beschreibbar
Die Kern-Frage ist hierbei ob es sich um einen Bug handelt.
Mit XE8 habe ich das gleiche Verhalten, allerdings kann man mit der TAB-Taste zum Edit-Feld gelangen und dort auch Eingaben vornehmen. Nur mit der Maus will das Edit-Control den Focus nicht erhalten. Nimmt man ein Panel und dockt die Form dort an, dann funktioniert es wie gewünscht. |
AW: Neues Formular EDIT nicht beschreibbar
Wenn ich es Pannels mache, müsste ich dann manuell ein Button zum Schließen der Form einfügen. Wäre zwar nicht optimal, aber würde sicherlich auch gehen.
Edit: Schaut jetzt folgendermaßen aus: Habe ActiveControl von der 2.Form auf den Button gelegt und dann bsDialog genutzt. Damit geht es, allerdings lässt sich die Form verschieben und ist nicht als Parent der Hauptform bzw nicht an der richtigen Position. Edit2: Problem gelöst, geht jetzt alles mit bsDialog. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:39 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