Windowsuhr ersetzen



  • Hi!

    Ich wollte sehr gerne die Windowsuhr ersetzen. Dazu habe ich mir mitlerweile das Handle von dem Fenster der Uhr geholt. Mit ShowWindow( Handle, SW_HIDE) verschwindet die Uhr dann auch problemlos.

    Wenn ich nun ein Fenster versuche darin zu erstellen (ob als Parent des Uhrfensters oder als Parent der Trayleiste allgemein) gibt es zwar keinerlei Probleme, aber leider wird das Fenster niemals sichtbar.

    Wenn ich im MSVC++ gucke, ist jedoch das Fenster erstellt worden und auch Parent des richtigen Fensters, nämlich von "trayclockwclass" bzw. "traynotifywnd".

    Währe dankbar für ein paar Tipps, wie ich es noch versuchen könnte.



  • hmm ka. vllt hast de net ShowWindow ode rso aufgerufen...



  • Selbst das habe ich auch gemacht. - Handelt sich übrigens um Win2k

    //...
    	RECT rClock;
    
    	GetClientRect( hClockWnd, &rClock   );
    
    	hOwnWnd = CreateWindowEx( WS_EX_LEFT | WS_EX_LTRREADING, CLASSNAME, "", \
    	                          WS_CHILD |WS_CLIPSIBLINGS | WS_OVERLAPPED,  rClock.left, rClock.top, \
    	                          rClock.right, rClock.bottom, hClockWnd, NULL, hInstance, 0 );
    	if ( hOwnWnd == NULL ) return false;
    
    	ShowWindow( hOwnWnd, SW_SHOW );
    	//...
    

    Habe grade gemerkt, DASS es sichtbar wird, aber dennoch bleibt die Uhr selbst im Vordergrund.



  • ProfEich schrieb:

    Habe grade gemerkt, DASS es sichtbar wird, aber dennoch bleibt die Uhr selbst im Vordergrund.

    Ich dachte die Uhr sei problemlos verschwunden?

    mfg.



  • Naja.. sry, habe mich etwas unvollständig ausgedrückt.

    Also, ich kann die Orginaluhr mit ShowWindow verstecken. Das Problem ist bloss, das kurz drauf die Trayicons unten auch nach rechts rücken, so dass sogesehen gar keine Lücke mehr da ist.

    Wenn ich die Orginaluhr sichtbar lasse, bleibt mein Fenster im Hintergrund.

    Also in jeder Hinsicht keine Möglichkeit es sichtbar zu machen.



  • Subclasse die Scheisse und mal dir dein eigenes Fenster in die Clientarea der Windowsuhr.

    MfG.



  • So, habe jetzt auf mein Programm als Unterfenster der Windows-Uhr. Musste nur mit SetWindowLong vorher noch den Fensterstyle der Uhr anpassen.


Anmelden zum Antworten