![]() |
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 |
AW: Scrollbar mit modernem Anfasser
Hast du ein Manifest?
|
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 |
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. |
AW: Scrollbar mit modernem Anfasser
XP oder Win7 ist egal, da die Option gleich heißt, bzw nicht umbenannt wurde.
PS: ![]() |
AW: Scrollbar mit modernem Anfasser
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo jaenicke,
OK, was mache ich falsch:
Delphi-Quellcode:
Im Anhang das Bild für diese Unit.
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. Gruß Mattze |
AW: Scrollbar mit modernem Anfasser
|
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? |
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 |
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 19:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz