Einzelnen Beitrag anzeigen

Masterj44

Registriert seit: 12. Nov 2005
38 Beiträge
 
#15

Re: Design von visuellen Objekten ändern

  Alt 13. Nov 2005, 10:28
Sorry das ich nicht frühere antworten konnte war gestern so müde.

Ich habe jetzt das ausprobiert was hier steht, doch Delphi erkennt
die Anweisung 'override' nicht und meint das 'EM_GETSCROLLPOS' ein undefinierter Bezeichner ist.

Hier der Code:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
type
  TMyListBox = class(TListBox)
  public
    procedure RePaint; override;
  end;
type
  TForm1 = class(TForm)
    ListBox1: TListBox;
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
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;
end.
  Mit Zitat antworten Zitat