Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Hintergrund von Form übernehmen (https://www.delphipraxis.net/73325-hintergrund-von-form-uebernehmen.html)

Jonas 15. Jul 2006 19:28


Hintergrund von Form übernehmen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi ihr. Ich hab ein riesieges Problem. Ich habe auf meiner Form ein Image, was als Hintergrund fungiert. Auf meiner Form habe ich eine selbst erstellte Komponente TCustomControl. Diese habe ich wie folgt auf meine Form gebracht.
Delphi-Quellcode:
  uhr := TNeqClock.Create(self);
  uhr.visible := false;
  uhr.Parent := self;
  uhr.top := rect.Bottom -50;
  uhr.Brush.Style := bsClear;
Um den Hintergrund meiner Form auch als Hintergrund meiner Komponente bei zu behalten, habe ich neben dem Brush.Style auch noch folgendes gemacht auf meiner Komponente gemacht:
Delphi-Quellcode:

    procedure CreateParams(var Params: TCreateParams); override;
    procedure WMEraseBkgnd(var Message: TWMEraseBkgnd); message

procedure TNeqClock.CreateParams(var Params: TCreateParams);
begin
  inherited CreateParams(Params);
  Params.ExStyle := Params.ExStyle + WS_EX_Transparent;
end;

procedure TNeqClock.WMEraseBkgnd(var Message: TWmEraseBkgnd);
begin
  // in this case, we want to intercept the windows message. if we would want to
  // pass the message to the ancestor classes, we could use the keyword
  // "inherited" without the procedure name. example:
    inherited;
  Message.Result := 1;
end;
Nun aber zu meinem Problem. Ich stelle eine Uhr mit einem Label dar. Welches sich logischerweise nach 1 Minute ändert. Sobald sich das Label ändert, wird jedoch die alte Zahl auf dem Hintergrund beibehalten, was die neue unleserlich macht. Das heisst sobald eine Minute vergangen ist kann man die Uhrzeit nicht mehr lesen.
Wenn ich jedoch die Komponente danach einmal auf visible := false und wieder auf true setzte funktioniert es wieder bis sich das Label ändert.
Was kann ich tun? Woran liegt es? Was passiert wenn ich meine Kompo auf visible false und true setzte, wieso funktioniert es danach?

Ich bitte um Hilfe!

Go2EITS 16. Jul 2006 08:11

Re: Hintergrund von Form übernehmen
 
Ähm, gibt es nicht irgendwo ein Refresh oder Update?
(Blind im Code umeinanderstocher, eigentlich keine Ahnung hab..., aber wenn keiner antwortet..)
Go2EITS

Jonas 25. Jul 2006 12:20

Re: Hintergrund von Form übernehmen
 
Wie refresh oder update?

Wennde repaint meinst, das hab ich schon versucht nur hat leider nichts gebracht!


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:35 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