maddin Geschrieben 25. April 2001 Teilen Geschrieben 25. April 2001 moinsen, meine jetzige frage lautet, kann ich und wenn ja dialoge (fenster) erstellen, die zwar auf dem desktop sichbar sind aber nicht in der taskleiste. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
whizzle Geschrieben 27. April 2001 Teilen Geschrieben 27. April 2001 Moin Maddin, ich hab's zwar noch nicht probiert aber könnte nicht folgendes funktionieren: 1. ein normales Fenster erstellen, aber noch nicht anzeigen 2. einen Benutzeroberflächenthread (was für ein Wort!), also eben keinen Arbeitsthread starten 3. Hauptfenstermit SW_HIDE anzeigen Ich weiß allerdings nicht, ob ein Thread für Benutzereingaben in der Taskleiste angezeigt wird. Wenn nicht, könnte doch das Fenster des Threads als Hauptfenster benutzt werden, bis es (und damit die Anwendung) geschlossen wird. Wie gesagt, keine Gewähr, aber falls es funktionuckelt, meld' Dich doch nochmal! Gruß Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
maddin Geschrieben 27. April 2001 Autor Teilen Geschrieben 27. April 2001 problem an der sache ist, das fenster, die man sich mit ShowWindow (SW_HIDE); anzeigen lässt zwar nicht in der taskleiste zu sehen sind, dafür aber auch nicht auf dem desktop und das sollte das fenster schon. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
whizzle Geschrieben 27. April 2001 Teilen Geschrieben 27. April 2001 Vergiss es, hab's gerade mal ausprobiert, auch der Benutzeroberflächen-Thread wird in der Taskleiste angezeigt. Sorry! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
maddin Geschrieben 27. April 2001 Autor Teilen Geschrieben 27. April 2001 habs geschafft. habe die funktion OnPaint dahingehend geändert, das sie das aktuelle fenster versteckt und dann ein neues anzeigt, dessen mama das versteckte fenster ist. denn wie ich nachlesen könnte, werden bloß fenster ohne eltern in der taskleiste angezeigt. meine OnPaint- Funktion: void CTestDlg::OnPaint() { if (IsIconic()) { CPaintDC dc(this); // Gerätekontext für Zeichnen SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0); // Symbol in Client-Rechteck zentrieren int cxIcon = GetSystemMetrics(SM_CXICON); int cyIcon = GetSystemMetrics(SM_CYICON); CRect rect; GetClientRect(&rect); int x = (rect.Width() - cxIcon + 1) / 2; int y = (rect.Height() - cyIcon + 1) / 2; // Symbol zeichnen dc.DrawIcon(x, y, m_hIcon); } else { CDialog::OnPaint(); CDlg dlg; dlg.DoModal(); OnCancel(); } } Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.