Minimieren bei Programmstart



  • hallo,

    ich habe in der FAQ mir die anleitung zu "Minimieren in Tray" rausgesucht und ein bisschen abgeändert (im original hat es nicht funktioniert). Wie kann ich jetzt erreichen, dass sich mein programm schon beim programmstart minimiert? Einfach in die OnInit schreiben geht nicht ... wird wohl daran liegen, dass der dialog noch nicht exististiert zu dem zeitpunkt... richtig? also wie gehe ich das am besten an?

    danke für eure hilfe

    mfg, TFTS

    PS: noch was am rande. dadurch dass ich WM_SYSCOMMAND abfange lässt sich mein dialog nicht mehr verschieben. Die Funktion zum schließen des dialogs (beim klicken auf das kreuz) hab ich selbst schon geschrieben

    void CCm_client_updaterDlg::OnSysCommand(UINT nID, LPARAM lParam) 
    { 
        if (nID == SC_MINIMIZE) 
        { 
    		OnMinimize(); 
        }
    	if (nID == SC_CLOSE)
    	{
    		exit(0);
    	}
    }
    

    aber was müsste ich denn nun schreiben, damit man den dialog auch wieder normal verschieben kann?

    PPS: nochwas ... was bedeutet eigentlich "SC" bei SC_CLOSE bzw SC_MINIMIZE



  • Um gleich beim start zu minimieren kannst du zum Beispiel einen Timer mit sehr kurzer zeit setzen, und dann beim ersten Timer-Event sofort den Timer wieder beenden und den Dialog minimieren - man sieht ihn dann gar nicht erst.

    Zum zweiten Problem:

    ...
    CDialog::OnSysCommand(nID,lParam);
    

    oder wolltest du die anderen SysCommand verarbeitungen absichtlich deaktivieren?

    PPS: nochwas ... was bedeutet eigentlich "SC" bei SC_CLOSE bzw SC_MINIMIZE

    SysCommand?



  • danke erstmal ... das mit dem bewegen hab ich jetzt mit deiner hilfe gelöst

    void CCm_client_updaterDlg::OnSysCommand(UINT nID, LPARAM lParam) 
    { 
        if (nID == SC_MINIMIZE) 
        { 
    		OnMinimize(); 
        }
    	else
    	{
    		CDialog::OnSysCommand(nID,lParam);
    	}
    }
    

    jetzt zu der sache mit dem timer ... ich bräuchte noch mehr anhaltspunkte um da einen weg zu finden - das problem ist sicherlich auch dass ich noch nie mit timern gearbeitet hab.

    Vielleicht gibts auch noch eine andere Möglichkeit? Selbst wenn der dialog kurz zu sehen ist wär das kein problem... er soll sich dann halt eben nur selbst minimieren

    mfg, TFTS





  • oh man das mit dem timer wäre doch ein hack.



  • danke für eure hilfe ... habs jetz mit nem thread gemacht ... sicherlich nicht die eleganteste art und weise ... aber es funzt

    mfg, TFTS


Anmelden zum Antworten