Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi ondrawcell nach buttonclick aufrufen (https://www.delphipraxis.net/92183-ondrawcell-nach-buttonclick-aufrufen.html)

Mosi17 15. Mai 2007 21:05


ondrawcell nach buttonclick aufrufen
 
Wie oben steht möchte ich, dass das Ondrawcell meines stringgrids über einen buttonclick ausgelöst wird. Aber ich habs nicht hinbekommen...
wenn ichs mit
Stringgrid1.ondrawcell;
probier sind's zu wenig Parameter.
Hab auch schon alles was da beim Ondrawcell in der Klammer steht dahinter kopiert, aber das klappt auch nicht, wie kann ich es denn nun machen? Weiß doch bestimmt einer... :roll:

dr. love 16. Mai 2007 13:09

Re: ondrawcell nach buttonclick aufrufen
 
Sollte nicht weiter schwer sein. Du musst nur die einzelnen Parameter übergeben:

Delphi-Quellcode:
StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
Für die Parameter trägst du folgendes ein:

Sender:
Delphi-Quellcode:
self
ACol, ARow: Die jeweils zu zeichnende Zelle mit x, y Koordinaten

Rect: das zu zeichnende Rechteck (kann per Rect(x1, y1, x2, y2) übergeben werden

TGridDrawState: mindestens eines der folgenden Parameter, bei mehreren durch Komma getrennt:

gdSelected
gdFocused
gdFixed

Ansonsten in der Hilfe nachschauen (da habe ich das alles rauskopiert)...


[edit=Matze]Beitrag aufgrund einer Fehldarstellung aktualisiert. Mfg, Matze[/edit]

Hawkeye219 16. Mai 2007 17:58

Re: ondrawcell nach buttonclick aufrufen
 
Hallo,

wenn du das komplette StringGrid aktualisieren möchtest, dann geht das so:

Delphi-Quellcode:
StringGrid1.Invalidate;
Möchtest du nur eine bestimmte Zelle des Grids aktualisieren, dann kannst du die folgende Funktion verwenden:

Delphi-Quellcode:
procedure InvalidateGridCell (aGrid: TStringGrid; aCol, aRow: Integer);
var
  R : TRect;
begin
  R := aGrid.CellRect(aCol, aRow);
  InvalidateRect(aGrid.Handle, @R, False);
end;

// Anwendung
InvalidateGridCell (StringGrid1, 2, 1);
Gruß Hawkeye

wfs12 10. Jul 2007 17:26

Re: ondrawcell nach buttonclick aufrufen
 
hallo wenn ich das jetzt mal so mache wie dr. love es vorgesschlagen hat, dann kommt bei mir eine fehlermeldung:
Zitat:

[Fehler] serverbanking.pas(587): Inkompatible Typen: 'TGridDrawState' und 'Enumeration'
Was mache ich denn da falsch? :wiejetzt:

_frank_ 10. Jul 2007 17:34

Re: ondrawcell nach buttonclick aufrufen
 
mal versucht die werte in eckige klammern zu setzen??

also ...,[gdSelected,gdFocused])

HTH Frank


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