Hallo, ich schon wieder.
Ich habe eine Komponente geschriben, leider wird die immer übermalt wenn ich z.B. die Größe verändere oder andere Form/Fenster drüber bewege.
Woran liegt das bzw. wie kann ich das verhindern.
Hier ein bissle Code:
Delphi-Quellcode:
procedure TMyWinCtrl.Paint;
var
Rect : TRect;
notUsed : HWND;
begin
Rect := GetClientRect;
Canvas.Handle := GetDeviceContext(notUsed);
Canvas.Brush.Color := FBGColor;
Canvas.Font.Color := FFont.Color;
Canvas.Font.Size := FFont.Size;
Canvas.Font.Style := FFont.Style;
Canvas.Font.Name := FFont.Name;
Canvas.Pen.Color := FBorderColor;
Canvas.Pen.Style := FBorder;
if ColorToRGB(FBGColor) > -1 then
begin
Canvas.FillRect(Rect);
Canvas.Rectangle(Rect);
end;
if FText <> '' then
begin
Canvas.TextOut(5,5, FText);
end;
end;