Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Scrollbar mit modernem Anfasser (https://www.delphipraxis.net/181189-scrollbar-mit-modernem-anfasser.html)

Mattze 23. Jul 2014 13:14

Scrollbar mit modernem Anfasser
 
Hallo,

nun wollte ich mal probieren, das horizontale Scrolling in einer Listbox völlig selbst zu übernehmen und bekam einen Schreck.
Wenn ich in meinem Delphi 7 eine TScrollbar nehme, so wird der Anfasser im "old style" als festes Quadrat angezeigt.
Ich möchte aber gerne so eine Scrollbar, wie sie unter Win 7 plus üblich ist, also ein in der Breite veränderlicher Thumb (Anfasser) mit den 3 "Strichen" drauf und auch "oberflächenmäßig" entsprechend gestaltet (3D?!).

Geht das? Wie? Ich habe nach anderen Scrollbar-Komponenten geschaut, aber zumindest in ihren Demos sehen die nicht so schön aus.
Außerdem möchte ich natürlich, dass sich meine eigene horizontale Scrollbar im Aussehen nicht von der vertikalen in der Listbox unterscheidet!

Was kann man da machen?

Gruß
Mattze

mkinzler 23. Jul 2014 13:53

AW: Scrollbar mit modernem Anfasser
 
Hast du ein Manifest?

Mattze 23. Jul 2014 14:12

AW: Scrollbar mit modernem Anfasser
 
Hallo,

ich hab's ja geahnt, dass es evtl. damit geht, aber...
Ich habe leider nur das für XP, dass bei Delphi 7 dabei ist.
Es geht aber natürlich weder mit noch ohne.

Woher für win7 und höher eins nehmen und wie einbinden?
Oder geht es auch direkt, ohne Manifest?

Gruß
Mattze

jaenicke 23. Jul 2014 15:06

AW: Scrollbar mit modernem Anfasser
 
Wenn das Manifest bei dir nicht das Ergebnis zeigt, dann ist es auch nicht richtig drin. ;-)
Das ist schon das richtige, auch das von Delphi 7.

himitsu 23. Jul 2014 15:39

AW: Scrollbar mit modernem Anfasser
 
XP oder Win7 ist egal, da die Option gleich heißt, bzw nicht umbenannt wurde.

PS: Hier im Forum suchenManifest-Creator > siehe Design

Mattze 23. Jul 2014 16:03

AW: Scrollbar mit modernem Anfasser
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo jaenicke,

OK, was mache ich falsch:
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, XPMan, StdCtrls;

type
  TForm1 = class(TForm)
    ScrollBar1: TScrollBar;
    XPManifest1: TXPManifest;
    ListBox1: TListBox;
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  Listbox1.ScrollWidth:=1000;
end;

end.
Im Anhang das Bild für diese Unit.

Gruß
Mattze

mkinzler 23. Jul 2014 16:06

AW: Scrollbar mit modernem Anfasser
 
Oder Komponente TXPManifest verwenden
http://www.delphi-treff.de/tipps-tri...yle-verwenden/

himitsu 23. Jul 2014 16:14

AW: Scrollbar mit modernem Anfasser
 
Diese nutzlose Komponente macht aber nichts Anderes, als die Unit XPMan einzubinden, über welche die dort enthaltende Resource (mit dem Manifest) aufgenommen wird.

Hast du vielleicht noch ein weiteres Manifest im Programm?
Steht etwas bezüglich irgendwelcher Konflikte im Compilerlog?

Mattze 23. Jul 2014 16:34

AW: Scrollbar mit modernem Anfasser
 
Hallo himitsu,

neeee!
Ich habe mir eben ein "win7.res" mit Deinem Manifest-Creator zusammengebastelt.
WindosXP.res natürlich rausgenommen.
Und dieses als Ressource in die Unit eingebunden.
Keine Änderung.

Auch, ob ich nun dieses WindowsXP.res drin habe oder nicht.

Ich habe D7 pro und mal die Quelle der Listbox durchstöbert. Soweit ich das verstanden habe, habe ich nichts verstanden! <ggg>
Ich sehe einfach keinen Unterschied bei der Definition der (horiz.) Scrollbars und doch werden sie verschieden dargestellt. Das kann höchstens Windows-intern sein!
Ich werde mal den Scrollbar aus der API nehmen und gucken...

Gefällt mir gar nicht!

Gruß
Mattze

himitsu 23. Jul 2014 16:44

AW: Scrollbar mit modernem Anfasser
 
Ich kann mich Täuschen, aber auf dem Bild sehe ich den neuen Style.
Ein Button sähe doch auch "neu" aus? (nicht wie in Win98)

Die Breite des Schiebers ergibt sich aus den Dimensionen. (Parameter am Beispiel der TScrollBar)
> Größe des Scroll-Bereichs (Größe = Max - Min)
> Größe des Anzeigebereichs (PageSize)

Wenn PageSize 0 oder wenn der Anzeigebereich zu klein ist, womit das Ding zu schmal wäre, dann wird es auf die rechteckige Größe bebrenzt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:40 Uhr.
Seite 1 von 2  1 2      

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