Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi StringGrid ohne Selektion (https://www.delphipraxis.net/10898-stringgrid-ohne-selektion.html)

Matze 27. Okt 2003 16:40


StringGrid ohne Selektion
 
Hi!

Wenn ich in ein StringGrid klicke, dann wird ja ein Bereich/Zelle selektiert.

Ich zeichne auf dessen Canvas ein Bmp, sobald ich aber einige Zellen markiere, dann werden die Bmps überzeichnet. Was mache ich da falsch?

Alexander 27. Okt 2003 16:47

Re: StringGrid ohne Selektion
 
Mach mal goRangeSelect auf false, dann kann man nur eines markieren.
Oder was wolltest du jetzt wissen :gruebel: Bin nämlich aus deiner Frage nciht ganz schlau geworden...

Matze 27. Okt 2003 16:54

Re: StringGrid ohne Selektion
 
Naja, schon besser :mrgreen:

Ich zeichne per Mausklick auf das Canvas eines StringGrids. Aber wenn ich ein neues reinzeichnen möchte, dann verschwindet das alte wieder. :(

Alexander 27. Okt 2003 16:55

Re: StringGrid ohne Selektion
 
Dann zeig mal deinen Code zum Zeichnen...

Matze 27. Okt 2003 16:56

Re: StringGrid ohne Selektion
 
Delphi-Quellcode:
StringGrid1.MouseToCell(X, Y, Column, Row);
StringGrid1.Canvas.Draw(Column*16,Row*16,aktuellesBmp);

Niko 27. Okt 2003 16:59

Re: StringGrid ohne Selektion
 
Du musst deine Zeichnung im OnDrawCell-Ereignis der entsprechenden Zelle (erneut) ausgeben. Sonst wird sie durch den Zellhintergrund und eventuellen Text ersetzt.

Matze 27. Okt 2003 17:00

Re: StringGrid ohne Selektion
 
Danke, und wie muss ich das machen, ich zeichne ja im OnMouseDown? :gruebel:

Niko 27. Okt 2003 17:24

Re: StringGrid ohne Selektion
 
Du musst irgendwo speichern, welche Bitmap in welche Zelle hineingehört (z. B. in einem zweidimensionalen Array) und in OnDrawCell suchst du dir dann anhand von ACol und ARow das passende Bild aus und zeichnest es.

Matze 27. Okt 2003 17:25

Re: StringGrid ohne Selektion
 
OK, danke, das teste ich dann mal. :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:40 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz