![]() |
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? |
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... |
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. :( |
Re: StringGrid ohne Selektion
Dann zeig mal deinen Code zum Zeichnen...
|
Re: StringGrid ohne Selektion
Delphi-Quellcode:
StringGrid1.MouseToCell(X, Y, Column, Row);
StringGrid1.Canvas.Draw(Column*16,Row*16,aktuellesBmp); |
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.
|
Re: StringGrid ohne Selektion
Danke, und wie muss ich das machen, ich zeichne ja im OnMouseDown? :gruebel:
|
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.
|
Re: StringGrid ohne Selektion
OK, danke, das teste ich dann mal. :thumb:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:04 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