AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Buttongröße der Scrollbalken verändern
Thema durchsuchen
Ansicht
Themen-Optionen

Buttongröße der Scrollbalken verändern

Ein Thema von LokutusvB · begonnen am 15. Jun 2015 · letzter Beitrag vom 16. Jun 2015
Antwort Antwort
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1

AW: Buttongröße der Scrollbalken verändern

  Alt 15. Jun 2015, 12:24
Du löst ein lokales Problem mit einer globalen Lösung? Sehe ich das richtig? Ich weiß nicht, ob das so im Sinne des Anwenders ist, wenn auf einmal alle seine Scrollbars deinen Wünschen entsprechen. Bedenke auch, dass eventuell behinderte Anwender das Aussehen und die Bedienbarkeit von Windows ihren Bedürfnissen angepasst haben.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.114 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Buttongröße der Scrollbalken verändern

  Alt 15. Jun 2015, 12:50
Es gibt dafür keine Lösung. Die Scrollbalken sind Windows-Komponenten und die kannst du nur global anpassen. Außerdem dauert das, je nach offenen Fenstern, auch eine ganze Weile.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Buttongröße der Scrollbalken verändern

  Alt 15. Jun 2015, 13:30
Es gibt dafür keine Lösung. Die Scrollbalken sind Windows-Komponenten und die kannst du nur global anpassen. Außerdem dauert das, je nach offenen Fenstern, auch eine ganze Weile.
Das mag für antike Delphi-Versionen gelten.
Mit neueren Versionen und den (eingebauten) Skinning/Theming ist sowas über das Skin/Theme relativ einfach für alle Controls der eigenen Anwendung anpassbar.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#4

AW: Buttongröße der Scrollbalken verändern

  Alt 15. Jun 2015, 13:37
Es gibt dafür keine Lösung. Die Scrollbalken sind Windows-Komponenten und die kannst du nur global anpassen.
Wie Bernhard schon sagt klar geht das.

gruss

Geändert von EWeiss (15. Jun 2015 um 14:10 Uhr)
  Mit Zitat antworten Zitat
LokutusvB

Registriert seit: 18. Jul 2006
277 Beiträge
 
Delphi XE6 Enterprise
 
#5

AW: Buttongröße der Scrollbalken verändern

  Alt 15. Jun 2015, 13:38
Es gibt dafür keine Lösung. Die Scrollbalken sind Windows-Komponenten und die kannst du nur global anpassen. Außerdem dauert das, je nach offenen Fenstern, auch eine ganze Weile.
Genau das macht SystemParameterSInfo und genau das ist bei dieser Anwendung auch in meinem Sinne, da das Betriebssystem während der Anwendungsausführung nicht "angerührt" wird und man anders die Breite der Scrollbalken nicht ändern kann.

Und ja Luckie, das ist im Sinne das Anwenders. Kennt jemand den GET/SET Parameter, den man verwenden muß?
MFG
LokutusvB
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.114 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: Buttongröße der Scrollbalken verändern

  Alt 15. Jun 2015, 13:58
Ich stehe auf dem Schlauch. Ich mache das immer so:

Delphi-Quellcode:
var
   nonClientMetrics: TNonClientMetrics;
begin
   nonClientMetrics.cbSize := SizeOf(TNonClientMetrics);
   SystemParametersInfo(SPI_GETNONCLIENTMETRICS, 0, @nonClientMetrics, 0);

   nonClientMetrics.iScrollWidth := 99;
   nonClientMetrics.iScrollHeight := 99;


   SystemParametersInfo(
      SPI_SETNONCLIENTMETRICS,
      SizeOf(nonClientMetrics),
      @nonClientMetrics,
      0   // This parameter can be zero if you do not want to
         // update the user profile or broadcast the
         // WM_SETTINGCHANGE message
   );
end;
Heraus kommt dann so etwas: scrollbalken.png
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#7

AW: Buttongröße der Scrollbalken verändern

  Alt 15. Jun 2015, 14:03
Ich stehe auf dem Schlauch. Ich mache das immer so:

Delphi-Quellcode:
var
   nonClientMetrics: TNonClientMetrics;
begin
   nonClientMetrics.cbSize := SizeOf(TNonClientMetrics);
   SystemParametersInfo(SPI_GETNONCLIENTMETRICS, 0, @nonClientMetrics, 0);

   nonClientMetrics.iScrollWidth := 99;
   nonClientMetrics.iScrollHeight := 99;


   SystemParametersInfo(
      SPI_SETNONCLIENTMETRICS,
      SizeOf(nonClientMetrics),
      @nonClientMetrics,
      0   // This parameter can be zero if you do not want to
         // update the user profile or broadcast the
         // WM_SETTINGCHANGE message
   );
end;
Heraus kommt dann so etwas: Anhang 43364
Und ist auch richtig so..
Frage mich nun warum du vorher geschrieben hast das es nicht geht.

Aber Achtung! Das verändert alle Scrollbars Systemweit..
Solange bis du es zurücksetzt.
Schlechte Lösung denk ich mal.

gruss

Geändert von EWeiss (15. Jun 2015 um 14:11 Uhr)
  Mit Zitat antworten Zitat
LokutusvB

Registriert seit: 18. Jul 2006
277 Beiträge
 
Delphi XE6 Enterprise
 
#8

AW: Buttongröße der Scrollbalken verändern

  Alt 15. Jun 2015, 14:07
So mache ich das ja auch. Aber das allein ändert nicht die Breite bzw. Höhe der Steuerungsbuttons für Hoch und Runter bzw. Rechts und Links. Und diese Buttons möchte ich von der Größe her an die Breite der Balken anpassen.
MFG
LokutusvB
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.680 Beiträge
 
Delphi 5 Professional
 
#9

AW: Buttongröße der Scrollbalken verändern

  Alt 15. Jun 2015, 14:18
Das Problem an SystemParametersInfo ist doch, dass die Änderungen alle Programme betreffen, und zwar selbst dann, wenn man sie nicht broadcasten lässt, denn spätestens, wenn ein anderes Programm einen Broadcast loslässt, werden sie für alle übernommen.

Ein solches Programm würde keine 3 Minuten auf meinem System leben. Daher würde ich gar nicht weiter versuchen, mit dieser Funktion ein Problem zu lösen, das nur für die eigene Anwendung gelten soll.

MfG Dalai
  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 08:59 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