Autor Beitrag
elundril
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3747
Erhaltene Danke: 123

Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
BeitragVerfasst: Sa 30.10.10 01:58 
Hallo,

ich hab mir eine eigene Komponente gebastelt, abgeleitet von TCustomControl. Jetzt würd ich der gerne Scrollbars hinzufügen. Da bin ich auf folgendes gestoßen:

ausblenden Delphi-Quelltext
1:
2:
  ShowScrollBar(Handle, SB_HORZ, true);
  ShowScrollBar(Handle, SB_VERT, true);


Doch das liefert mir unter Windows7 + XPMan-Komponente auf dem Formular nur diese hässlichen Scrollbars aus Windows NT und früher. Ich hätt jedoch gerne die schönen mit themes. Gibts da ne möglichkeit das einzuschalten? Denn immerhin werden die Scrollbars ja eigentlich von der Windows-API gezeichnet.

lg elundril

_________________
This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 30.10.10 05:57 
Ich denke ich habe hier eine Lösung gefunden:
social.msdn.microsof...0f-a4cd-b8f655c64fba

Für diesen Beitrag haben gedankt: elundril
elundril Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3747
Erhaltene Danke: 123

Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
BeitragVerfasst: Mi 17.11.10 01:41 
Ne, das mit EnableScrollbar hat auch nicht wirklich funktioniert. Oder meintest du etwas was ich nicht bemerkt habe in dem Artikel?

lg elundril

_________________
This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 17.11.10 03:45 
user profile iconelundril hat folgendes geschrieben Zum zitierten Posting springen:
Ne, das mit EnableScrollbar hat auch nicht wirklich funktioniert. Oder meintest du etwas was ich nicht bemerkt habe in dem Artikel?
Also bei mir funktioniert das so. :nixweiss:
Siehe Anhang, es wird sogar ohne Manifest der Style benutzt (mit gehts natürlich auch).

Hast du in den CreateParams exakt die dort genannten drin oder auch andere?

Quelltext meines kurzen Tests eben:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
type
  TMyControl = class(TCustomControl)
  protected
    procedure CreateParams(var Params: TCreateParams); override;
  end;

  TForm267 = class(TForm)
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
  end;

// ...

procedure TForm267.FormCreate(Sender: TObject);
var
  NewControl: TMyControl;
begin
  NewControl := TMyControl.Create(Self);
  NewControl.Parent := Self;
  NewControl.SetBounds(10, 10, 200, 200);
  EnableScrollBar(NewControl.Handle, SB_HORZ, ESB_ENABLE_BOTH);
end;

{ TMyControl }

procedure TMyControl.CreateParams(var Params: TCreateParams);
begin
  inherited;
  Params.Style := Params.Style or WS_HSCROLL or WS_VSCROLL;
end;
Einloggen, um Attachments anzusehen!

Für diesen Beitrag haben gedankt: elundril
elundril Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3747
Erhaltene Danke: 123

Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
BeitragVerfasst: Do 18.11.10 02:42 
Einmal Copy&Paste angewendet und es funktioniert sogar. Wobei das seltsam ist, da ich eigentlich hatte ich komplett das gleiche da stehen hatte. Naja, dank dir vielmals!

lg elundril

_________________
This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.