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

Hansa 25. Jul 2010 15:07

Stringgrid-Cursor ?
 
Hi,

wovon hängt es ab, dass im Stringgrid ein senkrechter Cursor erscheint (also der, wie in der IDE auch) ? Habe hier 2 Programme mit gleichen Stringgrid-Options. In dem einen ist der senkrechte Cursor zu sehen und in dem anderen wird die selektierte Zelle umrandet. Wo liegt der Unterschied ?

himitsu 25. Jul 2010 15:10

AW: Stringgrid-Cursor ?
 
Wenn der Feldeditor aktiv ist, dann sollte über diesem Edit dieser Cursor zu sehn sein.

Hansa 25. Jul 2010 15:17

AW: Stringgrid-Cursor ?
 
Du meinst goEditing ? Ist in beiden Fällen gesetzt. Oder EditorMode ? Das ist Standardeinstellung.

Keldorn 25. Jul 2010 15:46

AW: Stringgrid-Cursor ?
 
Hallo

meinst Du options.goalwaysshoweditor?

ansonsten wird der Cursor nicht angezeigt, wenn die Zeilenhöhe zu gering ist.

Gruß Frank

Hansa 25. Jul 2010 16:16

AW: Stringgrid-Cursor ?
 
Der Strich-Cursor erscheint, sobald die Zelle angeklickt wird. Mir stellt sich jetzt die Frage, wieso das in dem einen Programm so ist und in dem anderen der Cursor ohne irgendwelche Aktionen (insbesondere oghne Anklicken) sofort da ist. :shock:

Keldorn 25. Jul 2010 16:20

AW: Stringgrid-Cursor ?
 
wie gesagt: riecht nach options.goalwaysshoweditor

Hansa 25. Jul 2010 17:18

AW: Stringgrid-Cursor ?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Irgendwas hat das goAlwaysShowEditor anscheinend schon mit der Sache zu tun. Man schaue sich aber mal das Projekt im Anhang an. Das mal laufen lassen und danach die showmessage-Zeile auskommentieren. Mir wärs Recht, ich hätte den Cursor und nicht die Umrandung. Aber ich kann ja wohl nicht solche Dummy-Showmessages einbauen, die keiner braucht. 8-)

Keldorn 25. Jul 2010 18:26

AW: Stringgrid-Cursor ?
 
ich bin mir nicht sicher, was mir das Demo sagen soll :gruebel:.
was für eine Umrandung meinst Du? Die Selektion, den Focusrahmen, ...?

Hansa 25. Jul 2010 18:50

AW: Stringgrid-Cursor ?
 
So wie es gepostet ist : Cursor. Kommentiere mal das showmessage aus : Rahmen. Wieso ?

toms 25. Jul 2010 19:24

AW: Stringgrid-Cursor ?
 
Zitat:

Zitat von Hansa (Beitrag 1037474)
So wie es gepostet ist : Cursor. Kommentiere mal das showmessage aus : Rahmen. Wieso ?

Wenn die Form nicht den Fokus besitzt, ist der Cursor nicht sichtbar. Dies ist der Fall, wenn ShowMessage herauskommentiert wird.

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 23:48 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