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/)
-   -   Delphi ValueListEditor: Schreibmarke in Zelle setzen? (https://www.delphipraxis.net/97616-valuelisteditor-schreibmarke-zelle-setzen.html)

PeterPanino 13. Aug 2007 16:55


ValueListEditor: Schreibmarke in Zelle setzen?
 
Hallo, ich habe eine ValueListEditor-Komponente (TValueListEditor) auf einer Form. Nun möchte ich, dass beim Öffnen des Fensters die Schreibmarke automatisch in eine bestimmte Zelle gesetzt wird, damit der Anwender gleich drauflosschreiben kann, ohne erst auf die Zelle klicken zu müssen.

Ich habe folgendes versucht, aber es funktioniert nicht:

Delphi-Quellcode:
procedure TForm1.FormActivate(Sender: TObject);
begin
  ValueListEditor1.SetFocus;
  ValueListEditor1.Col := 1;
  ValueListEditor1.Row := 1;
  ValueListEditor1.EditorMode := True;
end;
Wer weiß einen Rat?

marabu 13. Aug 2007 17:34

Re: ValueListEditor: Schreibmarke in Zelle setzen?
 
Hallo Peter,

dein Code ist in Ordnung, aber das Ereignis das falsche. Nimm OnShow() und es sollte funktionieren.

Grüße vom marabu

PeterPanino 13. Aug 2007 17:46

Re: ValueListEditor: Schreibmarke in Zelle setzen?
 
Zitat:

Zitat von marabu
Hallo Peter,

dein Code ist in Ordnung, aber das Ereignis das falsche. Nimm OnShow() und es sollte funktionieren.

Grüße vom marabu

Das funktioniert! Vielen herzlichen Dank für den Tipp!

Weißt du zufällig auch noch, ob man das Cellpadding in ValueListEditor (das ja auf CustomStringGrid basiert) irgendwie einstellen kann? Ja, ich weiß, ich könnte einfach mit RowHeights die Zeilenhöhe erhöhen, aber das sieht dann hässlich aus, weil der Text dann rechts und vor allem links immer noch an die Linien anstößt.

marabu 13. Aug 2007 17:54

Re: ValueListEditor: Schreibmarke in Zelle setzen?
 
Ich würde spontan das Ereignis OnDrawCell() verwenden und das übergebene Rechteck mit InflateRect() um etwa 2 Pixel schrumpfen.

mh18058 14. Mai 2020 22:51

AW: ValueListEditor: Schreibmarke in Zelle setzen?
 
Ich glaube statt Deiner 4 Zeilen hätte die Zeile

ValueListEditor1.SelectFirst;

genügt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:51 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