Registriert seit: 16. Mär 2004
2.287 Beiträge
|
Re: Design von visuellen Objekten ändern
13. Nov 2005, 00:27
Zitat von 3_of_8:
Ich bin mir nicht sicher, ob das geht:
Delphi-Quellcode:
procedure TMyListbox.Repaint; override;
var Pnt: TPoint;
begin
inherited Repaint;
Perform(EM_GETSCROLLPOS, 0, Integer(@Pnt));
Canvas.Brush.Color:=clSkyBlue;
Canvas.rectangle(Width-10,0,Width,Height);
Canvas.Brush.Color:=clBlue;
//In Pnt.Y steht drin, wie weit das Teil gescrollt ist. Aber wie der Rest gezeichnet wird, weiß ich //nicht.
end;
Also wenn das geht, dann bräuchte man das nur noch abzuwandeln...
Delphi-Quellcode:
procedure TMyListbox.Repaint; override;
var Pnt: TPoint;
H: Integer;
begin
inherited Repaint;
H:=Round( Height / Count * (Height / ItemHeight)); //Höhe des Scrollbalkens. Richtig?
Perform(EM_GETSCROLLPOS, 0, Integer(@Pnt));
Canvas.Brush.Color:=clSkyBlue;
Canvas.Rectangle(Width-10,Pnt.Y,Width,Pnt.Y+H);
Canvas.Brush.Color:=clBlue;
//In Pnt.Y steht drin, wie weit das Teil gescrollt ist. Aber wie der Rest gezeichnet wird, weiß ich //nicht.
end;
»Unlösbare Probleme sind in der Regel schwierig...«
|
|
Zitat
|