Własny scrollbar

0

Witam,
Robie program i nieestetycznie wygląda w nim scrollbar dołączony np. do memo. Chcialbym wstawic dwa TImage i z nich zrobic scrollbar takiego memo. Bez paska przewijania bo to mi nie potrzebne. Chodzi o efekt jak czasami spotyka sie we flash, zwykłe dwie strzałki - po kliknieciu na gorna memo idzie o linie do gory a po kliknieciu na dolna - idzie na dół. Czy da sie jakos obsłuzyc te zdarzenia? Czy da sie to wykonac?

0

Nie jestem pewny, czy dobrzecię rozumiem, ale chyba Dominik źle cię zrozumiał, a poza tym ci tu wyskakuje z WinApi, gdy ty bawisz się VCLem...
Przejdę do rzeczy... możesz zrobić przyciski TBUTTON z Caption ustawionym na odpowiednie znaki takie jak: ? U+25B2 ; ? U+25BA; ? U+25BC i ? U+25C4 . Również, jeśli chcesz to możesz użyć rzeczywiście TImage i narysować strzałki, chyba wiesz jak ;)
<ort>Niezalerznie </ort>od metody, którą wybierzesz, kod na onClick będzie ten sam... Nie <ort>jestemm </ort>ekspertem od VCL, ale myślę, że powinieneś w tym celu użyć polecenia Memo.Lines.Move(), popróbuj...

0

a macie pomysł na usunięcie scrollbara np z TListBox, który takiej opcji nie oferuje ? tzn usunięcia go z komponentu który nie ma właściwości dotyczącej scrollbarów ?

[EDIT]

bo taką mam koncepcję, sterowania dwoma ListBox'ami za pomocą jednego scrollbara...przeszukałem neta ale nic ni ma...

[EDIT2]

ha, kiedyś szukałem czegoś identycznego tylko dla DBGrida, też tutaj na forum, oto rozwiązanie:

unit Newgrid;

interface

uses
  WinTypes, WinProcs, Classes, DBGrids;

type
  TNoVertScrollDBGrid = class(TDBGrid)
  protected
    procedure Paint; override;
  end;

procedure Register;

implementation

procedure TNoVertScrollDBGrid.Paint;
begin
  SetScrollRange(Self.Handle, SB_VERT, 0, 0, False);
  inherited Paint;
end;

procedure Register;
begin
  RegisterComponents('Data Controls', [TNoVertScrollDBGrid]);
end;

end.

wciąż jednak nie rozwiązuje to mojego aktualnego problemu. nie mogę sie czy to przy definiowaniu nowej klasy pochodnej po TCustomListBox czy TListBox dostać do metody Paint ! w przeciwieństwie do TDBGrid pomija klasę TCustomControl, która tą metodę deklaruje...macie pomysły ? :> [???]

0

Dream Meaker: nie wszystko da się zrobić VCL-em :P . Co do chowania ScrollBara to kiedys usiłowałem dojść jak to zrobić i efekty (niezbyt doskonałe) są tu http://4programmers.net/Forum/180881 .

1 użytkowników online, w tym zalogowanych: 0, gości: 1