Hallo an Alle,
ich habe ein Stringgrid, das ist mit einigen Zeilen gefüllt ist
und unter diesen Zeilen ist die leere Fläche für mögliche weitere Zeilen.
Wenn ich jetzt auf diese leer Fläche unterhalb klicke, bekomme ich eine
OnClick in der untersten Zeile in der darüberliegenden Spalte.
Gebt es eine Möglichkeit, dass ich ermitteln kann, ob ausserhalb der Rows geklickt wurde?
Stringgrid OnClick ausserhalb der Rows
-
- Beiträge: 129
- Registriert: Sa 25. Mai 2013, 07:43
- OS, Lazarus, FPC: Win7_x64 (FPC:4.7.1)
- CPU-Target: 32Bit
Stringgrid OnClick ausserhalb der Rows
Vbxler
-------------------------
-------------------------
-
- Lazarusforum e. V.
- Beiträge: 3178
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: Stringgrid OnClick ausserhalb der Rows
Ja: selber rechnen. Eine andere, vorgefertigte Möglichkeit ist mir nicht bekannt.Vbxler hat geschrieben:Gebt es eine Möglichkeit, dass ich ermitteln kann, ob ausserhalb der Rows geklickt wurde?
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
-
- Beiträge: 129
- Registriert: Sa 25. Mai 2013, 07:43
- OS, Lazarus, FPC: Win7_x64 (FPC:4.7.1)
- CPU-Target: 32Bit
Re: Stringgrid OnClick ausserhalb der Rows
Dann werde ich OnMouseDown verwenden, da bekomme ich x,y geliefert
und mit MouseToCell bekomme ich ja wieder die Row und Col.
und mit MouseToCell bekomme ich ja wieder die Row und Col.
Vbxler
-------------------------
-------------------------
Re: Stringgrid OnClick ausserhalb der Rows
Dazu müsstest du noch AllowOutboundEvents auf False setzen, da du sonst immer die letzt möglichen Cols/Rows bekommst z.B:
Code: Alles auswählen
procedure TForm1.StringGrid1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
ACol,ARow:integer;
begin
StringGrid1.AllowOutboundEvents:=False;
StringGrid1.MouseToCell(X,Y,ACol,ARow);
if ACol <> -1 then
Caption:='Maus ist in Zelle ['+inttostr(ACol)+'/'+inttostr(ARow)+']'
else
Caption:='Maus befindet sich außerhalb des Zellenbereichs!';
end;
Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;
Re: Stringgrid OnClick ausserhalb der Rows
Code: Alles auswählen
procedure TForm1.StringGrid1Click(Sender: TObject);
begin
if (Sender as TStringGrid).ScreenToClient(Mouse.CursorPos).Y > (Sender as TStringGrid).GridHeight then ShowMessage('ausserhalb');
end;
-
- Beiträge: 129
- Registriert: Sa 25. Mai 2013, 07:43
- OS, Lazarus, FPC: Win7_x64 (FPC:4.7.1)
- CPU-Target: 32Bit
Re: Stringgrid OnClick ausserhalb der Rows
Vielen Dank für Eure hilfreichen Antworten.
Durch die tolle Hilfe in diesem Forum kann man viel lernen, was man sonst nie herausfinden würde.
Durch die tolle Hilfe in diesem Forum kann man viel lernen, was man sonst nie herausfinden würde.
Vbxler
-------------------------
-------------------------