Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Doppelklick auf eine Zelle beim Stringgrid
etz472 - So 19.01.03 17:54
Titel: Doppelklick auf eine Zelle beim Stringgrid
Hallo!
Wenn ich auf eine Zelle eines StringGrids doppelklicke, soll der Inhalt eines Editfeldes dort reingeschrieben werden.
Mit dem Ereignis OnSelectCell funktioniert das nur bei Einfachklick. Gibt es eine Möglichkeit, dass es auch bei Doppelklick funktioniert?
UGrohne - So 19.01.03 17:59
Wenn kein entsprechendes Ereignis (OnDblClick) gibt, kannste ja selbst eins bauen, mithilfe eines Timers. Select-Cell setzt eine Boolean-Variable, aktiviert den Timer, der Timer setzt die Variable zurück. Wenn der Anwender jetzt nochmal klickt, bevor der Timer die Variable zurückgesetzt hat, dann haste Deinen Doppelklick. Ok, das setzt dann natürlich voraus, dass jeder Klick das Select-Cell-Event aufruft *grübel*.
Nur mal kurz so ne Idee... kanns grad net testen....
Gruß
derDoc - So 19.01.03 18:12
Es geht einfacher, indem du beide Ereignisse kombinierst:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| var Form1: TForm1; row, col: Integer;
implementation
{$R *.dfm}
procedure TForm1.StringGrid1DblClick(Sender: TObject); begin StringGrid1.Cells[col, row] := Edit1.Text; end;
procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer; var CanSelect: Boolean); begin col := ACol; row := ARow; end; |
Da du bei einem Doppelklick auch selektierst kannst du beides zusammenführen.
etz472 - So 19.01.03 21:54
Titel: Danke!
Super, das funktioniert! Danke!! :D
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!