AGB  ·  Datenschutz  ·  Impressum  







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

Prüfen ob Scrollbar aktiviert

Ein Thema von EWeiss · begonnen am 30. Jun 2011 · letzter Beitrag vom 30. Jun 2011
Antwort Antwort
Thom

Registriert seit: 19. Mai 2006
570 Beiträge
 
Delphi XE3 Professional
 
#1

AW: Prüfen ob Scrollbar aktiviert

  Alt 30. Jun 2011, 12:29
Leider gibt es ja sowas nicht in Delphi ScrollBars eines Fensters den eigenen Bedürfnissen anzupassen ( Kostenlos ohne Komponente)
daher baue ich mir eine eigene LIB bzw.. Units die das ermöglichen sollen.
Ja, das ist leider wahr (zumindest kenne ich keine derartige Lösung)... Da wünsche ich Dir viel Erfolg!

Viele Grüße
Thomas Nitzschke
Google Maps mit Delphi

Geändert von Thom (30. Jun 2011 um 12:34 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#2

AW: Prüfen ob Scrollbar aktiviert

  Alt 30. Jun 2011, 12:57
Leider gibt es ja sowas nicht in Delphi ScrollBars eines Fensters den eigenen Bedürfnissen anzupassen ( Kostenlos ohne Komponente)
daher baue ich mir eine eigene LIB bzw.. Units die das ermöglichen sollen.
Ja, das ist leider wahr (zumindest kenne ich keine derartige Lösung)... Da wünsche ich Dir viel Erfolg!

Viele Grüße
Funktioniert ja soweit schon abgesehen vom zeichnen der Bitmaps
Schau mal unter meinen Projekten.

gruss
  Mit Zitat antworten Zitat
alfold

Registriert seit: 29. Jun 2010
Ort: Neustrelitz
393 Beiträge
 
Delphi 7 Enterprise
 
#3

AW: Prüfen ob Scrollbar aktiviert

  Alt 30. Jun 2011, 13:07
Allerdings, ist ganz wichtig!!!! Vermische nicht Daten mit Graphic
OT// muss Dein Miditracker, was die GraphicRoutinen betreffen neu machen, leider wenig Zeit//OT

Gruss alfold
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#4

AW: Prüfen ob Scrollbar aktiviert

  Alt 30. Jun 2011, 13:14
Allerdings, ist ganz wichtig!!!! Vermische nicht Daten mit Graphic
OT// muss Dein Miditracker, was die GraphicRoutinen betreffen neu machen, leider wenig Zeit//OT

Gruss alfold
Hää ?
Keine Ahnung was du meinst.
Bei mir funktioniert das alles

PS:
Im Memo kann man die Scrollbar nicht auf Max = 0 stellen.
Die scheint virtuell erstellt zu werden.

gruss

Geändert von EWeiss (30. Jun 2011 um 13:18 Uhr)
  Mit Zitat antworten Zitat
alfold

Registriert seit: 29. Jun 2010
Ort: Neustrelitz
393 Beiträge
 
Delphi 7 Enterprise
 
#5

AW: Prüfen ob Scrollbar aktiviert

  Alt 30. Jun 2011, 14:00
Ich weiss ja nicht was Du da machst aber in Deinem Grid funct es
Delphi-Quellcode:
        hsi.cbSize := Sizeof(SCROLLINFO);
        hsi.nMin := XSizeMid;
        hsi.nMax := (rc.Right) - (XSize - XSizeMid); //<--ist hier der wert <= 0 wird keine Scrollbar angezeigt
        hsi.nPos := StartX + XSizeMid;
        hsi.fMask := SIF_POS or SIF_RANGE;
        SetScrollInfo(FHGrid, SB_HORZ, hsi, True);
Bei einem VCL Memo gibt es ja noch (ssHorizontal, ssVertical, ssNone, ssBoth)
Wenn ssHorizontal nicht aktiv ist passt sich xsize vom Memo auch an.

Wie Du das bei Dir umgesetzt hast weiss ich ja nicht.
EDIT:
wenn also hsi.nMax = 0 dann darf ssHorizontal nicht aktiv sein!

Gruss alfold

Geändert von alfold (30. Jun 2011 um 14:06 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#6

AW: Prüfen ob Scrollbar aktiviert

  Alt 30. Jun 2011, 14:18
Zitat:
Ich weiss ja nicht was Du da machst aber in Deinem Grid funct es
Siehe erster Eintrag!

Bei meinem grid ist das normal weil die Scrollbar über CreateWindow erstellt wurde
und ich zu jederzeit Einfluss auf die Value nehmen kann.

Beim Memo geht das aber nicht oder aber du kannst mir sagen wo ich dort die Max Value einstellen kann.

gruss
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#7

AW: Prüfen ob Scrollbar aktiviert

  Alt 30. Jun 2011, 14:30
Zitat:
Vielleicht hilft Dir das weiter...
Leider nein habe alle möglichen parameter geprüft.
Ich teste das mal mit der ListView oder anderer Komponente.

Edit:
ListView und TreeView funktionieren.

gruss

Geändert von EWeiss (30. Jun 2011 um 14:49 Uhr)
  Mit Zitat antworten Zitat
Thom

Registriert seit: 19. Mai 2006
570 Beiträge
 
Delphi XE3 Professional
 
#8

AW: Prüfen ob Scrollbar aktiviert

  Alt 30. Jun 2011, 14:17
Schau mal unter meinen Projekten.
Werde ich machen!

Aber mir ist gerade etwas anderes aufgefallen:
In einem TMemo werden bei ScrollBars:=ssBoth immer beide Leisten angezeigt, auch wenn sie nicht notwendig sind (dann eben nur deaktiviert). TMemo kennt ja irgendwie kein automatisches Ein- und Ausblenden der Scrollbars.

Insofern ist mein Vorschlag, die Clientgröße des Fensters zu testen, völliger Unsinn, da die Leisten immer da sind...

Was ich aber jetzt gefunden habe:
SCROLLBARINFO
Aus dem Parameter rgstate lassen sich Rückschlüsse darauf ziehen, ob ein Element (oder die gesamte Scrollbar) zum Beispiel unsichtbar (STATE_SYSTEM_INVISIBLE) oder deaktiviert (STATE_SYSTEM_UNAVAILABLE) ist.

Ist wenig Text im Memo enthalten und die vertikale Scrollbar überflüssig, sieht der Status so aus:
Delphi-Quellcode:
ScrollBarInfo.rgstate[0]=STATE_SYSTEM_UNAVAILABLE; //gesamte Scrollbar deaktiviert
ScrollBarInfo.rgstate[1]=STATE_SYSTEM_UNAVAILABLE; //oberer Button deaktiviert
ScrollBarInfo.rgstate[2]=STATE_SYSTEM_UNAVAILABLE; //Page up-Bereich deaktiviert
ScrollBarInfo.rgstate[3]=STATE_SYSTEM_STATE_SYSTEM_INVISIBLE; //verschiebbarer Button unsichtbar
ScrollBarInfo.rgstate[4]=STATE_SYSTEM_UNAVAILABLE; //Page down-Bereich deaktiviert
ScrollBarInfo.rgstate[5]=STATE_SYSTEM_UNAVAILABLE; //unterer Button deaktiviert
Wird die vertikale Scrollbar benötigt, ändert sich das so:
Delphi-Quellcode:
ScrollBarInfo.rgstate[0]=0; //gesamte Scrollbar ist aktiviert
//...
Vielleicht hilft Dir das weiter...
Thomas Nitzschke
Google Maps mit Delphi
  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 03:01 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