AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zellen verbinden

Ein Thema von Razor90 · begonnen am 26. Jun 2008 · letzter Beitrag vom 26. Jun 2008
Antwort Antwort
Seite 1 von 5  1 23     Letzte »    
Razor90

Registriert seit: 18. Jun 2008
80 Beiträge
 
#1

Zellen verbinden

  Alt 26. Jun 2008, 19:04
Ich möchte nun zwei Zellen di untereinander sind miteinander verbinden. Ich habe folgenden Code gefunde:
Delphi-Quellcode:
   If gdFixed In State Then Exit;
     If ARow > 1 Then Exit; }
     with sender as tstringgrid do begin
     If aCol < Pred(ColCount) Then
      Rect.Right := Rect.Right + 2 GridlineWidth;
    y:= Rect.Top +2;
    x:= Rect.Left +2;
    for i:= 1 to aCol-1 do
      x:= x - ColWidths[i] - GridlineWidth;

   end;
wie muss ich diesen nun umändern um mein problem zu lösen?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Zellen verbinden

  Alt 26. Jun 2008, 19:32
Wo hast du den Code denn gefunden? Denn funktionieren tut er bestimmt nicht.
Überlege mal wie du grundsätzlich vorgehen würdest und versuch das auf Delphi zu übertragen
Markus Kinzler
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Zellen verbinden

  Alt 26. Jun 2008, 19:57
Zellen von Was? [edit] obwohl mir bei dem Codeschnipsel die Augen weh tun hab ich den dezenten Hinweis auf StringGrid gefunden. Somit ist die erste Frage abgehakt. [/edit oki]
Warum verbinden?
Mit welchem Ziel?
42
  Mit Zitat antworten Zitat
Razor90

Registriert seit: 18. Jun 2008
80 Beiträge
 
#4

Re: Zellen verbinden

  Alt 26. Jun 2008, 20:14
Es handelt sich um eine Stringgrid. Den Text, denn ich in eine Zelle schreiben möchte passt dort nicht rein, weshalb ich gerne unterienader in zwei Zellen schreiben würde.
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#5

Re: Zellen verbinden

  Alt 26. Jun 2008, 20:19
Also, Zellen verbinden wie in Exel kannst du nicht. Dir bleibt dann nur die Möglichkeit ein OwnerDraw durchuführen und die Zellen zur Laufzeit zu übermalen und den Text in das vergrößerte Rect zu schreiben. Oder du vergrößerst die Zeilenhöhe. Aber dann musst du für den Zeilenumbruch auch wieder auf den Canvas schreiben.

Gruß oki
42
  Mit Zitat antworten Zitat
Razor90

Registriert seit: 18. Jun 2008
80 Beiträge
 
#6

Re: Zellen verbinden

  Alt 26. Jun 2008, 20:35
ownerdraw...kA was das ist.. DeddyH hat mir schon geholfen:
Delphi-Quellcode:
begin
  if (ARow=1) then //Zeilen 1 und 2 verbinden
    with Sender as TStringGrid do
      begin

        R := Classes.Rect(Rect.Left,
                          Rect.Top - (Rect.Bottom - Rect.Top),
                          Rect.Right,
                          Rect.Bottom);
        Canvas.Brush.Color := clRed;
        Canvas.FillRect(R);
        DrawText(Canvas.Handle,
                 PChar(Cells[ACol, ARow]),
                 -1,
                 R,
                 DT_CENTER or DT_VCENTER or DT_SINGLELINE);
      end;
end;
nur leider erscheint jetzt kein Text mehr... Jmd ne Idee???
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Zellen verbinden

  Alt 26. Jun 2008, 20:42
Zitat:
ownerdraw...kA
= Selberzeichnen, was ja Detlefs Code macht.
In welche Methode hast du den Code geschrieben?
Markus Kinzler
  Mit Zitat antworten Zitat
Razor90

Registriert seit: 18. Jun 2008
80 Beiträge
 
#8

Re: Zellen verbinden

  Alt 26. Jun 2008, 20:46
in stringgriddraw cell...nur es funktioniert ja, aber der text ist weg!!!
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#9

Re: Zellen verbinden

  Alt 26. Jun 2008, 20:54
DT_SINGLELINE erzeugt einen einzeiligen Text im Rect. Du wolltest doch mehrzeilig schreiben.

Und da wird wohl was mit deinem Rect nicht stimmen.

Wo hat DeddyH dir geholfen? ich sehe keinen Beitrag.

oki
42
  Mit Zitat antworten Zitat
Razor90

Registriert seit: 18. Jun 2008
80 Beiträge
 
#10

Re: Zellen verbinden

  Alt 26. Jun 2008, 20:57
per pn^^ ich mach den text dann per hand zweizeilig, also mit stringgridlcells[x,y]:='';, das krieg ich hin...nur warum steht jetzt überhaupt nix mehr da????
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 5  1 23     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:38 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