Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Ersetzen der TrayClock durch eine eigene grafische Uhr (https://www.delphipraxis.net/11356-ersetzen-der-trayclock-durch-eine-eigene-grafische-uhr.html)

sakura 5. Nov 2003 08:46


Ersetzen der TrayClock durch eine eigene grafische Uhr
 
An dieser Stelle schreibe ich die Frage für den User TSchl bei dem die DP nachgewiesener maßen den Schalter [NEUES THEMA] nicht darstellt. :gruebel:

Nun seine Frage:

Ich möchte gerne die TrayClock durch eine eigene auch etwas größere Uhr ersetzen, aber alle meine Bemühungen scheitern daran, das ich entweder die Uhr komplett abschalten kann, dann mir der Platz im Tray an der Stelle fehlt oder aber wenn ich die Windowsmessages abfange sich die Uhr immer wieder mal durchmogelt und meine eigene überschreibt.

Gruss
TSchl

scp 6. Nov 2003 18:50

Re: Ersetzen der TrayClock durch eine eigene grafische Uhr
 
Delphi-Quellcode:
var
  TCWnd : HWND;
  TCRect : TRect;

procedure HideTrayClock;
begin
  GetWindowRect(TCWnd, TCRect);

  // TCWnd = Handle von 'TrayClockWClass'
  SetWindowPos(TCWnd, 0, 0, 0, TCRect.Right - TCRect.Left, 0, SWP_NOZORDER or SWP_NOMOVE);
end;

procedure ShowTrayClock;
begin
  SetWindowPos(TCWnd, 0, 0, 0, TCRect.Right - TCRect.Left, TCRect.Bottom - TCRect.Top, SWP_NOZORDER or SWP_NOMOVE);
end;
So, ist die alte Uhr für Windows noch "Visible", durch die Höhe von 0 ist sie aber auf dem Bildschirm versteckt und der Platz ist noch reserviert.


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