Delphi-PRAXiS
Seite 1 von 2  1 2      

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/)
-   -   Delphi Neues Formular EDIT nicht beschreibbar (https://www.delphipraxis.net/184876-neues-formular-edit-nicht-beschreibbar.html)

DavidJNG 27. Apr 2015 15:14

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

baumina 27. Apr 2015 15:22

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.

DeddyH 27. Apr 2015 15:22

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?

p80286 27. Apr 2015 15:47

AW: Neues Formular EDIT nicht beschreibbar
 
Zitat:

Zitat von DavidJNG (Beitrag 1299416)
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.

Was bitte willst Du uns mitteilen?
Vermutung:
du hads ein Formular das eine ButtononClick-Procedur enthält in der mit Hilfe von
Delphi-Quellcode:
form2.show;
ein weiteres Formular angezeigt wird.
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

DavidJNG 27. Apr 2015 17:03

AW: Neues Formular EDIT nicht beschreibbar
 
Zitat:

Zitat von p80286 (Beitrag 1299426)
Zitat:

Zitat von DavidJNG (Beitrag 1299416)
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.

Was bitte willst Du uns mitteilen?
Vermutung:
du hads ein Formular das eine ButtononClick-Procedur enthält in der mit Hilfe von
Delphi-Quellcode:
form2.show;
ein weiteres Formular angezeigt wird.
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

Genau so ist es.

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.

BadenPower 27. Apr 2015 17:32

AW: Neues Formular EDIT nicht beschreibbar
 
Zitat:

Zitat von DavidJNG (Beitrag 1299439)

Code:
procedure TNeuerKundeForm.FormCanResize(Sender: TObject; var NewWidth,
  NewHeight: Integer; var Resize: Boolean);
begin
  NeuerKundeForm.Height := Hauptform.ClientHeight;
  resize := false;
end;

Ändere mal diese Zeile:

Delphi-Quellcode:
procedure TNeuerKundeForm.FormCanResize(Sender: TObject; var NewWidth, NewHeight: Integer; var Resize: Boolean);
begin
  //NeuerKundeForm.Height := Hauptform.ClientHeight; // Das geht schief
  resize := false;
end;
Du kannst doch die Werte für NewWidth und NewHeight benutzen und resize muss dann auch true sein.

DeddyH 27. Apr 2015 17:46

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?

dataspider 27. Apr 2015 17:58

AW: Neues Formular EDIT nicht beschreibbar
 
Zitat:

Zitat von DeddyH (Beitrag 1299444)
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?

und damit wird sich IMHO auch das Problem mit der Editierbarkeit erledigen...

Frank

BadenPower 27. Apr 2015 18:17

AW: Neues Formular EDIT nicht beschreibbar
 
Zitat:

Zitat von dataspider (Beitrag 1299445)
und damit wird sich IMHO auch das Problem mit der Editierbarkeit erledigen...

Oder eben die besagte Zeile rauswerfen.

Die Größenänderung der Form in FormCanResize mit dem anschließenden
Delphi-Quellcode:
Resize := false;
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.

DavidJNG 27. Apr 2015 18:23

AW: Neues Formular EDIT nicht beschreibbar
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von BadenPower (Beitrag 1299442)

Ändere mal diese Zeile:

Delphi-Quellcode:
procedure TNeuerKundeForm.FormCanResize(Sender: TObject; var NewWidth, NewHeight: Integer; var Resize: Boolean);
begin
  //NeuerKundeForm.Height := Hauptform.ClientHeight; // Das geht schief
  resize := false;
end;
Du kannst doch die Werte für NewWidth und NewHeight benutzen und resize muss dann auch true sein.

Code:
NeuerKundeForm.Height := NewHeight;
  resize := false;
Wenn ich resize auf true setze, kann man noch die Größe ändern.

Auch wenn ich einen anderen BorderStyle benutze und resize := true setze, ist es weiterhin nicht editierbar.

Hab's mal in den Anhang geladen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:56 Uhr.
Seite 1 von 2  1 2      

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