2009-06-17 9 views
1

Ich habe eine MFC-Anwendung, die einen CDialog erstellt. Ich würde mir wünschen, dass dieser CDialog nicht in der Mitte des Bildschirms erscheint, sondern an der Seite des Bildschirms, so dass er kaum sichtbar oder sogar minimiert ist.Erstellen Sie einen CDialog in der Ecke des Bildschirms

Wie kann ich das tun?

Antwort

1

Verwenden SetWindowPos in Ihrer OnInitDialog() Funktion, etwa so:

BOOL CDlg::OnInitDialog() 
{ 
    CDialog::OnInitDialog(); 
    // (x,y) is the upper-left corner in screen coordinates 
    SetWindowPos(NULL, x, y, 0, 0, SWP_NOSIZE | SWP_NOZORDER); 
    return TRUE; 
} 
1

können Sie SW_SHOWMINIMIZED Flagge in ShowWindow(SW_SHOWMINIMIZED) verwenden. (SW_SHOWMINIMIZED ==> öffnet das Fenster in seinem minimierten Zustand, es als Schaltfläche in der Taskleiste darstellt)

pDlg->Create(IDD_DLG_ID1,this); 
pDlg->ShowWindow(SW_SHOWMINIMIZED); 
+0

Ich persönlich denke, das ist viel besser als den Dialog in einiger ungünstigen Position platzieren. – djeidot

Verwandte Themen