Window immer im Vordergrund
-
Hallo Leute,
wie kann ich meinen Dialog so einstellen, dass er bei aktivieren eines Menüpunktes immer im Vordergrund bleibt?
Und wenn wir schonbeim Menü isnd. Wie kann ich es handeln, das ich das System-Menuü von meinem Dialog erweitere? geht das überhaupt? Und wenn ja wie? Ich mach das ganze ohne das Studio, sondern nur per Hand.
Nur so als Info.
Dann hätte ich nch ne Frage: Wie kann ich das Tray-Menü per Befehl aktualisieren lassen?Gruß,
Stalin
-
Immer im Vordergrund:
SetWindowPos(&wndTopMost,0,0,0,0,SWP_NOSIZE | SWP_NOMOVE); //Aktivieren SetWindowPos(&wndNoTopMost,0,0,0,0,SWP_NOSIZE | SWP_NOMOVE); //DeaktivierenSystemmenü:
CMenu* pSysMenu = GetSystemMenu(FALSE); pSysMenu->AppendMenu(MF_SEPARATOR); pSysMenu->AppendMenu(MF_STRING, 4000, "Test");
-
Und wie fang ich es ab, wenn man auf das SystemMenü clickt?
Wie kann ich den Eitrag so gestalten, dass er gechect ist wenn ich ihn anclicke bzw. nicht mehr gecheckt bei weiterem clicken?Gruß,
Stalin
-
Also wenn du z.b einen Menuitem so hinzugefügt hast:
CMenu *sysMenu = GetSystemMenu(FALSE); sysMenu->AppendMenu(MF_STRING,4000,"Test");kannst du in der OnSysCommand die nID abfragen und so rausbekommen ob dein Menuitem angeklick wurde:
if (nID == 4000) //Selbe Id wie bei AppendMenu { CMenu *sysMenu = GetSystemMenu(FALSE); static BOOL check = FALSE; if (check == FALSE) sysMenu->CheckMenuItem(4000,MF_CHECKED); else sysMenu->CheckMenuItem(4000,MF_UNCHECKED); check = !check; }
-
Ok und wie trage ich das ganze in die MessageMap ein?
Damit meine OnSysCommand aufgerufen wird? Oder geschieht dies automatisch?