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 TStringGrid, DblClick Ereignis auf fixed Row vermeiden (https://www.delphipraxis.net/76189-tstringgrid-dblclick-ereignis-auf-fixed-row-vermeiden.html)

hoika 31. Aug 2006 08:04


TStringGrid, DblClick Ereignis auf fixed Row vermeiden
 
Hallo #,

ich habe hier ein StringGrid,
bei einem DblClick soll was passieren,
also benutze ich das entsprechende Event.

Ich will aber, dass bei einem DblClick auf eine
fixed row nichts passiert.

Im OnDblClick habe ich aber kein X,Y, um per MouseToCell
die Zelle rauszubekommen zur Pürfung, ob es eine fixed row ist.

Wie komme ich an das Y ran, ohne es per OnMouseMove als
Extravariable mitzuschleppen ?


Danke im voraus



#edit:#
Hat sich erledigt.
Ich führe das X und Y jetzt als interne Variable mit.
Damit konnte ich auch noch einen anderen Bug beheben,
das passt scho :coder:



Heiko

Leonard 31. Aug 2006 08:35

Re: TStringGrid, DblClick Ereignis auf fixed Row vermeiden
 
Hallo,

du hast zwar schon geschrieben, dass es erledigt ist, aber ich hätte da noch nen Vorschlag.

Nimm doch lieber OnMouseDown, um dir den X und Y zu merken. Das wird mit Sicherheit deutlich seltener aufgerufen als OnMouseMove.

mfg Leonard

mbamler 31. Aug 2006 09:09

Re: TStringGrid, DblClick Ereignis auf fixed Row vermeiden
 
StringGrid1SelectCell ... scheint mir für dich das richtige Event zu sein

Gruß
Matthias

Leonard 31. Aug 2006 09:24

Re: TStringGrid, DblClick Ereignis auf fixed Row vermeiden
 
Jetzt muss ich doch glatt mal den :warn: machen :-D

Das event OnSelectCell wird nicht für fixed cells ausgelöst.

mfg Leonard

hoika 31. Aug 2006 12:19

Re: TStringGrid, DblClick Ereignis auf fixed Row vermeiden
 
Hallo,

das mit mousedown ist richtig,
werde ich ändern.

zum SelectCell.
Ich will ja auf DblClick reagieren,
nur halt nicht, wenn er doppelt auf eine FixedRow klickt.

Oder meinst du, ich sollte SelectCell benutzen,
um X und Y zu speichern?
Das geht ja nicht, weil ich das Y brauche,
um festzustellen, wo die Maus gerade ist.


Danke trotzdem

Heiko

Lannes 31. Aug 2006 15:28

Re: TStringGrid, DblClick Ereignis auf fixed Row vermeiden
 
Hallo,

so gehts direkt im OnDblClick-Event:

Delphi-Quellcode:
var aPoint : TPoint;
    ACol,ARow : Integer;
begin
  with StringGrid1 do
    begin
    GetCursorPos(aPoint);
    aPoint := ScreenToClient(aPoint);
    MouseToCell(aPoint.x,aPoint.y,ACol,Arow);
    if ARow >= FixedRows then
      //mach was;
    end;


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