![]() |
(TDBGrid) - Klick auf den indicator abfangen?
hallo zusammen,
ich habe eine kleine aber wichtige frage: wie kann ich einen klick auf den indicator eines DBGrids abfangen, das heillt, sobald ich auf den indicator klicke, muss eine procedure ausgeführt werden. wichtig ist auch, dass die zeile, bei der auf den indicator geklickt wurde, zur aktuellen zeile wird, und auch der datensatz. ich denke das ist nicht sehr schwierig, aber ich habe noch nichts darüber gefunden. schon mal danke im voraus, ich hoffe ihr könnt mir helfen |
Re: (TDBGrid) - Klick auf den indicator abfangen?
Hallo,
wenn ich das richtig verstanden habe, dann soll der aktuelle DS makiert und eine Aktion ausgeführt werden. Dann setze im OP einfach die Option alwayShowSelection auf true, so wird die gesamte Zeile makiert und im onClick- o.onDBClick-Ereignis kannst du die gewünschte Aktion ausführen. Durch den Click auf den Datensatz im DBGrid wird der Datensatzzeiger automatisch auf den aktuellen DS gesetzt. Darum brauchst Du dich also nicht kümmern. |
Re: (TDBGrid) - Klick auf den indicator abfangen?
ok, das hab ich
aber wie kann ich jetzt einen klick auf den indicator abfangen? |
Re: (TDBGrid) - Klick auf den indicator abfangen?
Hallo urbanbruhin,
ich nehme an, daß Du die linke graue Spalte als "indicator" bezeichnest. Auf "OnMouseDown" reagiert - wie's aussieht - das Standard-TDBGrid nicht. Im TRxDBGrid hingegen kann man eine Auswertung vornehmen.
Code:
mfg
procedure TFAllgUP2.dbg201MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer); begin if x < 20 then begin // gezielte Reaktion auf die Position des Mauszeigers end; end; eddy |
Re: (TDBGrid) - Klick auf den indicator abfangen?
also das fuktioniert nicht
|
Re: (TDBGrid) - Klick auf den indicator abfangen?
Hallo urbanbruhin,
Du mußt Dir schon die Mühe machen und zuvor einer Version von "RX Library 2.75" zu installieren. Getestet und funktionsfähig mit TRxDBGrid
Code:
mfg
procedure TForm1.dbg1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer); begin BotStat00.Caption := 'X/Y=' + IntToStr(x) + '/' + IntToStr(y); end; procedure TForm1.dbg1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if x < 11 then begin if Button = mbLeft then begin //, mbRight, mbMiddle ShowMessage('Linke Maustaste am linken Rand gedrückt'); end; end; end; eddy |
Re: (TDBGrid) - Klick auf den indicator abfangen?
aber das ist ja das selbe wie das von vorher: wenn der cursor soviel x hat, passierts
gibt es keine andere möglichkeit? Zitat:
|
Re: (TDBGrid) - Klick auf den indicator abfangen?
Hallo urbanbruhin,
ganz einfach: damit funktioniert es!!! Habe ich aber oben schon geschrieben: Zitat:
mfg eddy |
Re: (TDBGrid) - Klick auf den indicator abfangen?
und dieser neue dbgrid kann ich auch einfach mit einem TDataSource verbinden?
wenn ja: wüsstest du gerade, wo man dieses "teil" downloaden kann? wenn nein: dann nützt es mir nichts |
Re: (TDBGrid) - Klick auf den indicator abfangen?
Zitat:
TRxDBGrid ist bestandteil der RxTools. Da diese jedoch nicht weiterentwickelt werden empfehle ich dir eher die ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:02 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