AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Hintergrund von Form übernehmen
Thema durchsuchen
Ansicht
Themen-Optionen

Hintergrund von Form übernehmen

Ein Thema von Jonas · begonnen am 15. Jul 2006 · letzter Beitrag vom 25. Jul 2006
Antwort Antwort
Jonas

Registriert seit: 6. Feb 2005
266 Beiträge
 
Delphi 2007 Professional
 
#1

Hintergrund von Form übernehmen

  Alt 15. Jul 2006, 20:28
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!
Angehängte Grafiken
 
  Mit Zitat antworten Zitat
Go2EITS

Registriert seit: 25. Jun 2006
519 Beiträge
 
Delphi 7 Personal
 
#2

Re: Hintergrund von Form übernehmen

  Alt 16. Jul 2006, 09:11
Ähm, gibt es nicht irgendwo ein Refresh oder Update?
(Blind im Code umeinanderstocher, eigentlich keine Ahnung hab..., aber wenn keiner antwortet..)
Go2EITS
  Mit Zitat antworten Zitat
Jonas

Registriert seit: 6. Feb 2005
266 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Hintergrund von Form übernehmen

  Alt 25. Jul 2006, 13:20
Wie refresh oder update?

Wennde repaint meinst, das hab ich schon versucht nur hat leider nichts gebracht!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz