Delphi-PRAXiS
Seite 2 von 2     12   

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/)
-   -   Stringgrid-Cursor ? (https://www.delphipraxis.net/153217-stringgrid-cursor.html)

Hansa 26. Jul 2010 12:27

AW: Stringgrid-Cursor ?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Das Ganze ist schon etwas seltsam. Man sehe sich mal den neuen Anhang an. Im FormShow muss tatsächlich explizit SetFocus aufgerufen werden, damit der Cursor erscheint, obwohl die Form ja eigentlich schon den Focus hat. Aber egal.

Wenn man jetzt auf der Form rechts den Button anklickt und dann oben auf eines der erscheinenden Panele, dann soll die Panel.Caption in der Stringgrid-Zelle stehen. Tut sie auch. Gleichzeitig soll die nächste Zelle selektiert werden. Auch das ist der Fall. Gibt man eine Zahl ein, dann ist die in der nächsten Zelle. Aber erst durch einen Tastendruck ist der Cursor zu sehen. Vorher nicht.

Es soll so sein : Cursor ist zu sehen, damit man weiss, welche Zelle gerade aktiv ist. Es kann ja nicht sein, dass lediglich durch das Anklicken von irgendwas auf einer 2. Form, der Cursor verschwindet. :shock:

Hansa 27. Jul 2010 10:21

AW: Stringgrid-Cursor ?
 
Tatata, bei dem FormActivate hatte ich von Anfang an ein ungutes Gefühl. Das muss weg und folgendermassen ersetzt werden :

Delphi-Quellcode:
procedure TForm2.MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var st : string;
begin
  st := (Sender as TPanel).Caption;
  NrAusgew := Copy (st,1,5);
  Form1.EingabeVorh(NrAusgew);
  Form1.BringToFront;
end;
In Form1 muss dazu diese Public Procedure gebaut werden :

Delphi-Quellcode:
procedure TForm1.EingabeVorh(NrAusgew: string);
var ch : Char;
begin
  sg1.Cells [sg1.Col,sg1.Row] := NrAusgew;
  ch := chr (VK_RETURN);
  sg1KeyPress(nil,ch);// Return autom. ausführ.
end;
Im Ansatz war meine Idee also in die richtige Richtung gegangen. Letztenendes war aber das FormActivate doch die falsche Stelle.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:35 Uhr.
Seite 2 von 2     12   

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