Autor Beitrag
Peter Bremser
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Mo 24.03.03 11:06 
Wie ermittele ich die Zeile innerhalb einer StringGrid in der ich gerade mit Hilfe eines rechten Mausklicks ein Popupmenü geöffnet habe ?
Keldorn
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 2266
Erhaltene Danke: 4

Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
BeitragVerfasst: Mo 24.03.03 11:31 
Hallo, bevor das Popup aufgemacht wird, wird OnMousedown des Grids ausgelöst. Dort prüfen, welche Maustaste gedrückt wurde und mit mousetocell kannst du die Zelle ermitteln, wohin du geklickt hast.
Falls das nicht funktioinert, hat du noch die Möglichkeit, wieder den rechtklick im Stringgrid abzufangen und das Popupmenu mauell aufpoppen lassen.

Mfg Frank

_________________
Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)
Peter Bremser Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Mo 24.03.03 14:25 
Titel: Herzlichen Dank
Das funktioniert hervorragend

procedure THauptform.StringGrid_ArtikelanzeigeMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
Spalte, Zeile: Longint;
begin
if button = mbRight then begin
StringGrid_Artikelanzeige.MouseToCell(X, Y, Spalte, Zeile);
showmessage(inttostr(Spalte) + ' ' + inttostr(Zeile));
end;
end;
Keldorn
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 2266
Erhaltene Danke: 4

Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
BeitragVerfasst: Mo 24.03.03 14:36 
noch ein tip: bevor du mit Spalte und Zeile weiterarbeitest, prüfe, das die nicht -1 sind (-1 wirds dann, wenn du nicht auf eine Zelle sondern ins "leere " Stringgrid geklickt hast.
Sonst handelst du dir evtl irgendow eine exception ein.

Mfg Frank

_________________
Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)