AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Scrollbar im stringgrid immer sichtbar machen
Thema durchsuchen
Ansicht
Themen-Optionen

Scrollbar im stringgrid immer sichtbar machen

Ein Thema von dopeline · begonnen am 15. Mai 2003 · letzter Beitrag vom 9. Aug 2005
Antwort Antwort
dopeline

Registriert seit: 7. Mär 2003
Ort: Berlin
304 Beiträge
 
Delphi 7 Enterprise
 
#1

Scrollbar im stringgrid immer sichtbar machen

  Alt 15. Mai 2003, 14:35
die scrollbars in meinem stringgrid werden immer dann sichbar, wenn sie benötigt werden. wie sage ich ihm, dass die vertikale scrollbar immer sichtbar sein soll (am bessten so, dass man die hoch/runterpfeile nicht anklicken kann)

wie mache ich das?

Grüße, dopeline
  Mit Zitat antworten Zitat
static_cast

Registriert seit: 19. Okt 2003
Ort: Peine
300 Beiträge
 
#2

Re: Scrollbar im stringgrid immer sichtbar machen

  Alt 4. Mär 2005, 22:35
Ahoi,

ich bin mal so frei und kram den Thread wieder raus, da mich gerade die selbe Fragte plagt, ich habe ein StringGrind und will die horizontale ScrollBar immer anzeigen lassen, das es am rechten Rand nicht immer so leer ist. Schaut optisch einfach besser aus.

Hoffe es hat in den vergangen knapp 2 Jahren schonmal einer herrausgefunden wie das geht?

Gruß,
Daniel
Daniel M.
"The WM_NULL message performs no operation. An application sends the WM_NULL message if it wants to post a message that the recipient window will ignore."
  Mit Zitat antworten Zitat
slang

Registriert seit: 23. Feb 2005
12 Beiträge
 
#3

Re: Scrollbar im stringgrid immer sichtbar machen

  Alt 6. Mär 2005, 16:21
Hi!

War selbst auf der Suche und habe grade die Lösung gefunden.
Im OnDrawCell Ereignis kann man mit folgendem Code die Scrollbar erzwingen:


ShowScrollBar(StringGrid1.Handle, SB_VERT, True); müsste dann also zusammen so aussehen:

Delphi-Quellcode:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
begin
  ShowScrollBar(StringGrid1.Handle, SB_VERT, True); // Vertikale Scrollbar
  ShowScrollBar(StringGrid1.Handle, SB_HORZ, True); // Horizontale Scrollbar
end;
Allerdings sieht die Scrollbar dann benutzbar aus, obwohl man sie nicht benutzen kann.
Wie man sie auf "disabled" oderso setzen kann, weiß ich leider nicht.

MfG

Slang

[Edit]
Mit dem Befehl
  EnableScrollBar(Stringgrid1.Handle, SB_BOTH, ESB_DISABLE_BOTH); kann man die Scrollbar doch disablen.
Weiteres dazu gibts hier: MSDN

Diese Funktion kann man aber nicht in das OnDrawCell Ereignis einfügen, da die Scrollbar dann immer disabled ist!
[/Edit]
  Mit Zitat antworten Zitat
static_cast

Registriert seit: 19. Okt 2003
Ort: Peine
300 Beiträge
 
#4

Re: Scrollbar im stringgrid immer sichtbar machen

  Alt 6. Mär 2005, 23:13
Hi Slang,

super! Des ist es, es geht, Danke
Daniel M.
"The WM_NULL message performs no operation. An application sends the WM_NULL message if it wants to post a message that the recipient window will ignore."
  Mit Zitat antworten Zitat
slang

Registriert seit: 23. Feb 2005
12 Beiträge
 
#5

Re: Scrollbar im stringgrid immer sichtbar machen

  Alt 8. Mär 2005, 19:39
Hi static_cast!

Schön, dass ich mit meinem ersten Beitrag direkt helfen konnte

Man kann die Funktion EnableScrollbar aber doch ins OnDrawCell Ereignis packen.
Man sollte nur prüfen, ob die Anzahl der Reihen * Höhe der Reihen kleiner ist als die Höhe des Stringgrids. Müsste also dann so aussehen:

Delphi-Quellcode:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
begin
  ShowScrollBar(StringGrid1.Handle, SB_VERT, True);
  if StringGrid1.Height > StringGrid1.DefaultRowHeight * StringGrid1.RowCount then
    EnableScrollBar(StringGrid1.handle,SB_VERT,ESB_DISABLE_BOTH)
  else
    EnableScrollBar(StringGrid1.handle,SB_VERT,ESB_ENABLE_BOTH);
end;
MfG Slang
  Mit Zitat antworten Zitat
slang

Registriert seit: 23. Feb 2005
12 Beiträge
 
#6

Re: Scrollbar im stringgrid immer sichtbar machen

  Alt 9. Aug 2005, 09:00
Ich habe jetzt auf der Arbeit Delphi 2005 Professional.
Leider funktioniert die Sache mit den Scrollbars im Stringgrid hier nicht mehr.
Die Scrollbars flackern immer nur kurz auf und verschwinden direkt wieder.
Liegt das an Delphi 2005? Mit Delphi 7 ging es problemlos.
Ich hoffe mir kann jemand weiterhelfen.

MfG

slang
  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 10:46 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