Własny ScrollBar :(

DR
  • Rejestracja: dni
  • Ostatnio: dni
0

Witam i pozdrawiam serdecznie :)

Czy ktoś z Was wie może jak pokolorować komponent TScroolBar?

Z góry Dziękuje

puchi
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 411
0

jak chcesz mieć ładny ScroolBar to stwórz własny a nie przerabiaj ten standardowy bo tworząc swój masz więcej możliwości a ze standardowym za wiele nie zrobisz

SZ
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 107
0

Dołączę się do tematu, ponieważ mam podobny problem. Jak mogę zmienić wygląd paska przewijania w komponencie TListview?

puchi
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 411
0

Zmiana koloru paska w ListView (znalezione w necie):

Kopiuj
uses
CommCtrl;

InitializeFlatSB         (ListView1.Handle);
FlatSB_SetScrollProp(ListView1.Handle, WSB_PROP_HSTYLE,FSB_ENCARTA_MODE, true);
FlatSB_SetScrollProp(ListView1.Handle, WSB_PROP_VSTYLE, FSB_ENCARTA_MODE, True);
FlatSB_SetScrollProp(ListView1.Handle, WSB_PROP_HBKGCOLOR , clBlue, true);
FlatSB_SetScrollProp(ListView1.Handle, WSB_PROP_VBKGCOLOR , clBlue, true);
SZ
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 107
0

Też znalazłem ten kod, ale on tylko zmienia tło paska przewijania a belka nabiera szarego, niezbyt ładnego koloru.

M1
  • Rejestracja: dni
  • Ostatnio: dni
0

Powinno się dać przez napisanie zdarzenia WMPaint, ale nie testowałem z TScrollBar. Kod jest wzięty z TComboBox

Trzeba napisać własny komponent dziedziczący z TScrollBar

w private

procedure WMPaint(var Message: TWMPaint);message WM_PAINT;

a później

procedure TNazwaKlasy.WMPaint(var Message: TWMPaint);
var
PS: TPaintStruct;
DC: HDC;
Canvas: TCanvas;

begin
if (Assigned(strzalka) and (strzalka.Width>0)) then
begin

DC := Message.DC;
if DC = 0 then DC := BeginPaint(Handle, PS);
Canvas := TCanvas.Create;
try

  Canvas.Handle    := DC;
  Canvas.Font.Name := Font.Name;
  Canvas.Font.Size := Font.Size;
  with Canvas do
  begin


    
  end;
finally
  if Message.DC = 0 then EndPaint(Handle, PS);
end;
Canvas.Free;

end else
inherited;
end;

SZ
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 107
0

Zapytam krótko
Mogę uzyskać taki efekt np w listview?

http://img115.imageshack.us/my.php?image=pasekpd2.jpg

edit:
i drugie pytanko: Jak go mogę wyłączyć? By nie był widoczny na komponencie a przewijałbym np pokrętłem.

Młody
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 418
0

Zapytam krótko
Mogę uzyskać taki efekt np w listview?

Tak. Komponent VCLSkin: http://www.link-rank.com/

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.