Delphi-PRAXiS
Seite 1 von 2  1 2      

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 Zelle + TImage (https://www.delphipraxis.net/133504-stringgrid-zelle-timage.html)

youuu 3. Mai 2009 10:54


StringGrid Zelle + TImage
 
Hi,

ich habe eine Frage ist es möglich in einer StringGrid Zelle ein TImage anzuzeigen?

Delphi-Quellcode:
StringGrid1.Cells[1,1]] := ImageLiniePositionen.Canvas.Lineto(round(200),round(0));
Funktioniert leider nicht und

Delphi-Quellcode:
ImageLiniePositionen.Canvas.Lineto(round(200),round(0));

StringGrid1.Cells[1,1]] := ImageLiniePositionen.Canvas.ToString;
funktioniert leider auch nicht.

mkinzler 3. Mai 2009 10:56

Re: StringGrid Zelle + TImage
 
Ein StringGrid kann von sich aus nur Text ( Strings) anzeigen. Du müsstest das Zeichenn des Bildes selber durchführen ( Stichwort OwnerDraw)

youuu 3. Mai 2009 11:15

Re: StringGrid Zelle + TImage
 
Hm,

Delphi-Quellcode:
if StringGridPositionen.Cells[3, Sell_Row_Count + 4] = '' then
     StringGridPositionen.Canvas.Lineto(round(200),round(0));
Im OnDrawCell Ereignis

Nur passiert dabei nicht in der Zelle und ich bin auch irgendwie nicht ganz zufriden mit meiner Formulierung.

Hast du einen Tipp

mkinzler 3. Mai 2009 11:18

Re: StringGrid Zelle + TImage
 
Du solltest dir die Hilfe zu diesem Event noch einmal genauer durchlesen

youuu 3. Mai 2009 11:46

Re: StringGrid Zelle + TImage
 
Also ganz ehrlich, bin ich nicht schlau aus der Hilfe geworden. Kannst du mir einen Denkanstoss geben?

mkinzler 3. Mai 2009 11:54

Re: StringGrid Zelle + TImage
 
Der Event wird für jede Zelle aufgerufen. in den Parametern ACol, ARow stehen dann die Indizes der Zelle.
Du musst also nur überprüfen, ob es sich um die gewünschte Zelle handelt. Im Parameter Rect erhälst du daie Begrenzungen der aktuellen Zelle.

youuu 3. Mai 2009 12:09

Re: StringGrid Zelle + TImage
 
Habe ich hinbekommen, denke das müsste auch richtig sein.

Delphi-Quellcode:
    if StringGridPositionen.Cells[ACol, ARow] = StringGridPositionen.Cells[3, Sell_Row_Count + 4] then
    Begin
      StringGridPositionen.Canvas.MoveTo(Rect.Right,rect.Top);
      StringGridPositionen.Canvas.LineTo(Rect.left,rect.Top);
    End;
Zeichnet mir nun auf einmal mehrere Linien, aber normal dürfte es doch nur in einer Zelle eine Linie zusehen sein und nicht in fast allen?

mkinzler 3. Mai 2009 12:18

Re: StringGrid Zelle + TImage
 
Delphi-Quellcode:
if ACol = 3 and ARow = Sell_Row_Count + 4 then ...

DeddyH 3. Mai 2009 12:20

Re: StringGrid Zelle + TImage
 
Und das dann noch geklammert, damit der Compiler nicht meckert.
Delphi-Quellcode:
if (ACol = 3) and ( ARow = Sell_Row_Count + 4) then ...

youuu 3. Mai 2009 12:20

Re: StringGrid Zelle + TImage
 
Super danke euch, hat geklappt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:38 Uhr.
Seite 1 von 2  1 2      

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