![]() |
Zwei zellen quer verbinden
Hallo, ein neuer Tag, ein neues Problem.. :P
Ich möchte zwei zellen in einer stringgrid verbinden. Aber nur diese beiden Zellen, die nebeneinander sind [1,0] und [2,0]. Habe auch schon rumprobiert, aber leider mir dem ondrawcell keine erfahrung...vll könnt ihr mir weiterhelfen. hier mein ansatz
Delphi-Quellcode:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState); var R:TRect; begin if aRow=0 then if acol=2 then with sender as tstringgrid do begin rect.left:= Rect.left-ColWidths[ACol]; Canvas.Brush.Color := clBtnFace; Canvas.Brush.Style := bsSolid; Canvas.FillRect( Rect ); end; end; end. |
Re: Zwei zellen quer verbinden
Schau nochmal im
![]() |
Re: Zwei zellen quer verbinden
ja tut mir leid wenn ich doppelposts mache, aber ich kann das nicht... :wall: Ich weiß gar nicht was überhaupt mit rect.left, rect.right gemacht wird...man zeichnet ja schließlich ein rechteck, aber wie das hier genau funzt versteh ich nicht....ich kenne nur rectangle(x1,y1,x2,y2);...könnt ihr mir vll schnell ne lösung sagen???
|
Re: Zwei zellen quer verbinden
So schwer ist das ja nun auch wieder nicht. Da ich Deine Delphi-Version nicht kenne, hier mal die Online-Hilfe von Delphi 5 zum Ereignis OnDrawCell:
Zitat:
|
Re: Zwei zellen quer verbinden
Ein TRect emthält die Koordinaten eines Rechteckes
Left ist also X1; Top Y1; Right X2; Bottom Y2 |
Re: Zwei zellen quer verbinden
und was würde das für mich bedeuten? hab die gleiche hilfe, kann damit aber nichts anfange...
rect:=rect.left[1],rect.right[2],rect.top[1],rect.bottom[1]....oda wie mach ich das??? |
Re: Zwei zellen quer verbinden
Delphi-Quellcode:
Canvas.Rectangle( r.Left, r.Top, r.Right, r.Bottom);
|
Re: Zwei zellen quer verbinden
aber wo leg ich dann jetzt die koordinaten hin? oda bzw. wo geb ich die ein? habt ihr vll ein beispiel?
|
Re: Zwei zellen quer verbinden
Moin, Moin.
Überlege doch einmal: Als Rect wird dir das "normale" Rechteck übergeben, das gezeichnet werden soll. Wenn du z.B. zur linken benachbarten Zelle verbinden willst, dann musst du Rect.Left also nach links verschieben. Genau um die Breite der linken Nachbarzelle und der Linienbreite zwischen den Zellen. Probier doch mal ein wenig ... |
Re: Zwei zellen quer verbinden
so ein mist...ich kapier das nich...
Delphi-Quellcode:
falsche typen oda sowas meint er jetzt....was soll ich denn machen???
begin
if aRow=0 then if acol=2 then with sender as tstringgrid do begin rect:=rect.left+rect.right; Canvas.Brush.Color := clBtnFace; Canvas.Brush.Style := bsSolid; Canvas.FillRect( Rect ); end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:06 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