![]() |
Re: Combobox Komponente Visualisieren!
Ich hab jetzt ein im MouseMove Ereignis ein Repaint eingebaut, damit die Komponente neu gezeichnet wird wenn was bewegt wird.
Im Paint Ereignis erstelle ich dann ein Bitmap mit TBitmap.Create und gebe es anschließend wieder mit TBitmap.Free frei. Durch die vielen Aufrufe im MouseMove Ereignis flackert die Komponente jetzt aber immer etwas weil so oft neu gezeichnet werden muss. Wie muss ich das anstellen, dass es nicht mehr flackert? |
Re: Combobox Komponente Visualisieren!
Hast du DoubleBuffered beim Formular / Panels / ... gesetzt?
|
Re: Combobox Komponente Visualisieren!
Jetzt schon, aber es hat sich nix geändert.
Vll zur Hilfe die Prozedur: Edit: Ok, es klappt. Hatte das DoubleBuffered in meiner Form und nicht im Create Ereignis der Komponente platziert. |
Re: Combobox Komponente Visualisieren!
Will jetzt das OnChange Event einbauen, aber es klappt nicht so richtig.
Er unterkringelt mir immer das "property OnChange" : Zitat:
Unter private:
Delphi-Quellcode:
Unter protected:
FOnChange : TNotifyEvent;
Delphi-Quellcode:
und in meiner Funktion:
property OnChange: TNotifyEvent read FOnChange write FOnChange;
Delphi-Quellcode:
if Assigned(FOnChange) then
FOnChange(Self); |
Re: Combobox Komponente Visualisieren!
Wieso ist die Property unter protected deklariert? Wenn sie über den OI zuzuweisen sein soll, muss sie nach published.
|
Re: Combobox Komponente Visualisieren!
Keine Ahnung, so wars auch im Beispiel von jaenicke.
Wenn ich es jetzt unter published mache klappts aber trotzdem nicht |
Re: Combobox Komponente Visualisieren!
Was heißt "klappt nicht"? Wird der Quelltext lediglich unterkringelt oder lässt er sich nicht kompilieren?
|
Re: Combobox Komponente Visualisieren!
Es lässt sich nicht kompilieren weil der Fehler hier erscheint:
Zitat:
|
Re: Combobox Komponente Visualisieren!
Wieso nicht TGraphicControl? Naja egal, zeig mal die Deklaration der Klasse (den interface-Teil).
|
Re: Combobox Komponente Visualisieren!
Weiß nich, du hast gesagt entweder TCustomControl oder TGraphicControl. Ich weiß sowieso nicht wirklich worin sich beide untershcieden.
Delphi-Quellcode:
unit ProgressBar1;
interface uses Windows, SysUtils, Classes, Controls, Graphics, ComCtrls; type PbProgressBar = class(TCustomControl) private { Private-Deklarationen } FWidth : Integer; FThickness : Integer; FControllerWidth : Integer; FControllerHeight : Integer; FLineColor1 : TColor; FLineColor2 : TColor; FControllerColor : TColor; FScrollPos : Integer; FCursor : TPoint; FRMouseDown : Boolean; FMin : Integer; FMax : Integer; FRelScrollPos : Integer; FOnChange : TNotifyEvent; procedure SetThickness(uValue: Integer); procedure SetLineColor(uValue: TColor); procedure SetControllerColor(uValue: TColor); procedure SetPosition(uValue: Integer); procedure SetRelScrollPos(uValue:Integer); protected { Protected-Deklarationen } procedure Paint; override; procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override; procedure MouseMove(Shift: TShiftState; X, Y: Integer); override; procedure MouseUp(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override; public { Public-Deklarationen } constructor Create(aOwner: TComponent); override; destructor Destroy; override; published { Published-Deklarationen } property OnChange: TNotifyEvent read FOnChange write FOnChange; property Position: Integer read FRelScrollPos write SetRelScrollPos; property Wer: Integer read FWidth write FWidth; property Thickness: Integer read FThickness write SetThickness; property LineColor1: TColor read FLineColor1 write SetLineColor; property ControllerColor: TColor read FControllerColor write SetControllerColor; property OnMouseDown; property OnMouseMove; property OnMouseUp; property OnChange; end; procedure Register; implementation procedure Register; begin RegisterComponents('Samples', [PbProgressBar]); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:41 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz