AGB  ·  Datenschutz  ·  Impressum  







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

in stringgrids pixelweise scrollen? wie?

Ein Thema von pmac · begonnen am 5. Jul 2004 · letzter Beitrag vom 5. Jul 2004
Antwort Antwort
pmac

Registriert seit: 5. Jul 2004
2 Beiträge
 
#1

in stringgrids pixelweise scrollen? wie?

  Alt 5. Jul 2004, 11:41
hallo

ich möchte in einem stringgrid wörter ablegen, die auch viel länger als die tabelle selbst sein können.
das problem ist nun, dass das scrollen im stringgrid spaltenweise erfolgt.

fazit: alles was in dem grid nicht angezeigt wird, weil das wort zu lang ist, wird auch nicht durch srollen sichtbar, da man sofort zur nächsten spalte springt. ziemlich unschön, da man dann nicht kontrollieren kann, ob das ganze wort vollständig und richtig in der zelle sitzt.

wahrscheinlich bin ich nicht der erste, der diese unschöne erfahrung macht.

wie ist es nun möglich, in dem stringgrid PIXELWEISE zu scrollen?

danke im voraus
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: in stringgrids pixelweise scrollen? wie?

  Alt 5. Jul 2004, 13:03
Zitat von pmac:
ich möchte in einem stringgrid wörter ablegen, die auch viel länger als die tabelle selbst sein können.
das problem ist nun, dass das scrollen im stringgrid spaltenweise erfolgt.
wie ist es nun möglich, in dem stringgrid PIXELWEISE zu scrollen?
Da das StringGrid diese Funktionalität nicht bietet, gibt es sehr wahrscheinlich keine Chance dies durch Tricks nachzuholen.
Aber es gäbe da folgende Alternativen:
  • beim Selektieren einer Zeile wird das Property Hint auf den Zelleninhalt gesetzt.
    Damit wird der Inhalt als Hintfenster angezeigt.
  • Die Spalten des Stringgrids werden so breit gemacht, dass der gesamte Inhalt hinein passt.
    Dazu poste ich demnächst eine Unit für die Code-Library.
  • Der Inhalt wird mehrzeilig ausgegeben. Dazu muss ein Eventhandler für OnDrawCell geschrieben werden.
Delphi-Quellcode:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
var
   s : string;
begin
   s := StringGrid1.Cells[acol, ARow];

   if gdfixed in State then
      StringGrid1.Canvas.TextRect(Rect, Rect.Left+2, Rect.Top+2, s)
   else
   begin
      StringGrid1.Canvas.FillRect(Rect);
      Inc(Rect.Top, 2);
      Inc(Rect.Left, 2);
      DrawText(StringGrid1.Canvas.Handle, PChar(s), Length(s), Rect, DT_LEFT or DT_WORDBREAK);
   end;
end;
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: in stringgrids pixelweise scrollen? wie?

  Alt 5. Jul 2004, 13:04
Ich bitte Dich in Zukunft Groß- und Kleinschreibung korrekt zu nutzen. Das gilt für Dich wie auch für alle anderen Forennutzer.

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
pmac

Registriert seit: 5. Jul 2004
2 Beiträge
 
#4

Re: in stringgrids pixelweise scrollen? wie?

  Alt 5. Jul 2004, 13:28
Nun ja..die Spalten sind breit genug für die Wörter, aber die Tabelle ist nicht so breit, wie die Spalte. Daher will ich scrollen, um den Rest des Wortes zu sehen.

In mehrere zeilen, möchte ich es auch nicht zergliedern, da es nicht dem Sinn des Programms entspricht.

Aber als Hintfenster auszugeben, werde ich in Betracht ziehen. Danke für deine Antwort.
  Mit Zitat antworten Zitat
Antwort Antwort


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 20:36 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