![]() |
Frage zum in MousDown Stringgrid ???
Frage MousDown Stringgrid ???
Also ich habe ein String grid 3 spalten und wenn der Benutzer auf spalte 1 klickt soll er mir denn Inhalt der spalte 1 wiedergeben und das von der richtigen Zeile !!! Nun OK aber wenn der Benutzer in Spalte 2 klickt soll er trotzdem denn Inhalt der spalte 1 wieder geben Wie komm ich da weiter ??? ich peile das noch nicht ganz so Lg, Gigant |
Re: Frage zum in MousDown Stringgrid ???
Du könntest die Ereignisbehandlungsroutine des StringGrid's OnSelectCell benutzen.
Delphi-Quellcode:
Hoffe, ich konnte deine Anfrage korrekt interpretieren... :?
procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol,
ARow: Integer; var CanSelect: Boolean); var Container :String; begin Container := StringGrid1.Cells[0,ARow]; end; Viele Grüße, hanselmansel |
Re: Frage zum in MousDown Stringgrid ???
jup genau das wollte ich wissen
danke lg, Gigant |
Re: Frage zum in MousDown Stringgrid ???
So nun frag ich moch ob ich auch ereignisse auslösen kann wenn ich auf die fixed Cells klicke ???
es muss ja auch möglich sein wenn ich jetzt z.B. auf die eine Spalte klicke das er danach sortiert oder wenn ich auf eine andere klicke das er dann anders sortiert. keine angst sortierung müssen wir hier nicht durchkauen :) lg, Gigant |
Re: Frage zum in MousDown Stringgrid ???
So, ich habe genau gleiches Problem einmal gehabt, und poste hier mal die OnMouseDown-Procedure. Wahrscheinlich ist es auf die uneleganteste Weise ever gelöst, und der Code ist eine schande, aber Hauptsache es funktioniert.
Eigentlich sollte es mehr oder minder selbsterklärend sein, für Support stehe ich aber gerne zur Verfügung.
Delphi-Quellcode:
procedure TForm_Hauptfenster.sg_StufenlisteMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if Button = mbLeft then Begin if Y < sg_Stufenliste.RowHeights[0] then Begin If (X > sg_Stufenliste.ColWidths[0]+1)AND(X < sg_Stufenliste.ColWidths[0]+sg_Stufenliste.ColWidths[1]+1) then Begin //Feld 2 Index1 SortAendern(1); SortMenueX; nachVorname1.Bitmap.Assign(imHaken); End Else If (X > sg_Stufenliste.ColWidths[0]+sg_Stufenliste.ColWidths[1]+2) AND(X < sg_Stufenliste.ColWidths[0]+sg_Stufenliste.ColWidths[1] +sg_Stufenliste.ColWidths[2]+2) then Begin //Feld3 SortAendern(2); SortMenueX; nachName1.Bitmap.Assign(imHaken); End Else If (X > sg_Stufenliste.ColWidths[0]+sg_Stufenliste.ColWidths[1]+sg_Stufenliste.ColWidths[2]+3) AND(X < sg_Stufenliste.ColWidths[0]+sg_Stufenliste.ColWidths[1]+sg_Stufenliste.ColWidths[2] +sg_Stufenliste.ColWidths[3]+3) then Begin // Feld 4 SortAendern(3); SortMenueX; nachGeburtsdatum1.Bitmap.Assign(imHaken); End Else If (X > sg_Stufenliste.ColWidths[0]+sg_Stufenliste.ColWidths[1]+sg_Stufenliste.ColWidths[2] +sg_Stufenliste.ColWidths[3]+4) AND(X < sg_Stufenliste.ColWidths[0]+sg_Stufenliste.ColWidths[1]+sg_Stufenliste.ColWidths[2] +sg_Stufenliste.ColWidths[3]+sg_Stufenliste.ColWidths[4]+4) then Begin //Feld 5 SortAendern(4); SortMenueX; nachStrae1.Bitmap.Assign(imHaken); End Else If (X > sg_Stufenliste.ColWidths[0]+sg_Stufenliste.ColWidths[1]+sg_Stufenliste.ColWidths[2] +sg_Stufenliste.ColWidths[3]+sg_Stufenliste.ColWidths[4]+5) AND(X < sg_Stufenliste.ColWidths[0]+sg_Stufenliste.ColWidths[1]+sg_Stufenliste.ColWidths[2] +sg_Stufenliste.ColWidths[3]+sg_Stufenliste.ColWidths[4]+sg_Stufenliste.ColWidths[5]+5) then Begin //Fald 6 SortAendern(5); SortMenueX; nachPostleitzahl1.Bitmap.Assign(imHaken); End Else If (X > sg_Stufenliste.ColWidths[0]+sg_Stufenliste.ColWidths[1]+sg_Stufenliste.ColWidths[2] +sg_Stufenliste.ColWidths[3]+sg_Stufenliste.ColWidths[4]+sg_Stufenliste.ColWidths[5]+6) AND(X < sg_Stufenliste.ColWidths[0]+sg_Stufenliste.ColWidths[1]+sg_Stufenliste.ColWidths[2] +sg_Stufenliste.ColWidths[3]+sg_Stufenliste.ColWidths[4]+sg_Stufenliste.ColWidths[5] +sg_Stufenliste.ColWidths[6]+6) then Begin //Feld 7 SortAendern(6); SortMenueX; nachWohnort1.Bitmap.Assign(imHaken); End Else If (X > sg_Stufenliste.ColWidths[0]+sg_Stufenliste.ColWidths[1]+sg_Stufenliste.ColWidths[2] +sg_Stufenliste.ColWidths[3]+sg_Stufenliste.ColWidths[4]+sg_Stufenliste.ColWidths[5] +sg_Stufenliste.ColWidths[6]+7) AND(X < sg_Stufenliste.ColWidths[0]+sg_Stufenliste.ColWidths[1]+sg_Stufenliste.ColWidths[2] +sg_Stufenliste.ColWidths[3]+sg_Stufenliste.ColWidths[4]+sg_Stufenliste.ColWidths[5] +sg_Stufenliste.ColWidths[6]+sg_Stufenliste.ColWidths[7]+7) then Begin SortAendern(7); SortMenueX; nachTelefonnummer1.Bitmap.Assign(imHaken); End; End; end Else If Button = mbRight then Begin PopupMenue.Popup(X+Form_Hauptfenster.Left+sg_Stufenliste.Left ,Y+Form_Hauptfenster.Top+sg_Stufenliste.Top); End; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:17 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