Desktop anzeigen
-
Hallo
ich möchte, das mein Fenster (welches eine AppBar ist) nicht ausgeblendet wird, wenn man Desktop anzeigen drückt in der Taskbar.
Es soll an der gleichen Stelle bleiben wo es ist.Sich also genauso verhalten wie die Windowstaskbar.
Weiß einer wie das geht?
-
Wenn es eine korrekt registrierte AppBar ist, dann verhält es sich so... verstehe also Deine Frage nicht...
-
Danke Jochen Kalmbach
Also mach ich wohl etwas falsch bei der Registrierung.
Doch was kann man da falsch machen?
Sie sieht wie folgt bei mir aus:BOOL CAppBar::RegisterAccessBar(HWND hwndAccessBar, bool fRegister) { APPBARDATA abd; // Specify the structure size and handle to the appbar. abd.cbSize = sizeof(APPBARDATA); abd.hWnd = hwndAccessBar; if (fRegister) { // Provide an identifier for notification messages. abd.uCallbackMessage = WM_ABNOTIFY; // Register the appbar. if (!SHAppBarMessage(ABM_NEW, &abd)) return FALSE; g_uSide = ABE_TOP; // default edge g_fAppRegistered = TRUE; } else { // Unregister the appbar. SHAppBarMessage(ABM_REMOVE, &abd); g_fAppRegistered = FALSE; } return TRUE; }
(Habe ich aus der Msdn)
Und als Fenster übergebe ich m_hWnd in der OnCreateFunktion von CMainFrame.m_pAppBar->RegisterAccessBar(m_hWnd,TRUE);
Ich wüsste nicht was ich da falsch mache. Aber irgendetwas muss ja folglich falsch sein.
Siehst du meinen Fehler?
Mfg
-
Du musst ja noch auf ein paar Nachrichten reagieren...
Das folgende hast Du ja hoffentlich schon angeschaut, oder?
http://msdn.microsoft.com/library/en-us/shellcc/platform/Shell/programmersguide/shell_int/shell_int_programming/appbars.aspHier findest Du auch ein Beispiel:
http://www.codeguru.com/Cpp/COM-Tech/shell/article.php/c1343/
WTL: http://www.codeproject.com/wtl/CAppBar.asp
-
Ja denn Artikel aus der Msdn habe ich mir schon angeschaut.
Aber auch
http://www.codeguru.com/Cpp/COM-Tech/shell/article.php/c1343/
hatte ich mir schon angeschaut und eine Menge nützliches für meinen Code gefunden.(P.S.:Die benutzerdefinierte Message wird in diesem Prog garnicht abgefangen)
Der einzigste wirkliche Unterschied zu meinem Prog ist, dass hier erst ein Fenster geöffnet wird mit welchem man die AppBar anzeigen oder ausblenden kann.
Doch bei mir habe eine SDI anwendung erstellt, die ich mit dem WinApi Code als Taskbar registrieren möchte.