Legen Sie ein Fenster topmost
Ich bin versucht, um meine Fenster auf der Oberseite der alle anderen. Ich bin neu in C++, der Win32-Programmierung. Das ist meine Initialisierung von meinem Fenster in WinMain
:
hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);
Ich arbeitete vorher mit Dialogen, so dass die topmost-Eigenschaft war wirklich einfach zu bedienen. Aber auch hier, auf ein Fenster, ich weiß nicht, wie es einzustellen. Ich möchte auch in der Lage sein, um es zu lösen. Kann mir keiner helfen?
Sie können nicht halten Sie Ihre Fenster auf alle anderen. Es gibt mehrere Fenster in dem system. Wenn alle von Ihnen versuchen, die oberen Fenster, können nicht alle gewinnen.
Ich meinte die Topmost-Eigenschaft.
wie es passiert, du hast Recht, für Windows 8.1. ich bin mit einem herrlichen kleinen utility namens ClockX. es kann konfiguriert werden, um die Transparenz zu erhöhen, wenn Sie die Maus über Sie, und es unterstützt die click-through -, so habe ich es oberstes, oben auf allen anderen Fenstern. jedoch einmal in eine Weile windows Verwirrungen, die sich, und die Uhr verschwindet. alles was es braucht, um es zu beheben ist, ein rechts-Klick auf sein Symbol in der Taskleiste, aber es ist dennoch sehr ärgerlich. und so ist es mit sehr vielen windows - "Technologien". Sie haben Art verschlechtert, wie windows sich entwickelt hat.
Ich meinte die Topmost-Eigenschaft.
wie es passiert, du hast Recht, für Windows 8.1. ich bin mit einem herrlichen kleinen utility namens ClockX. es kann konfiguriert werden, um die Transparenz zu erhöhen, wenn Sie die Maus über Sie, und es unterstützt die click-through -, so habe ich es oberstes, oben auf allen anderen Fenstern. jedoch einmal in eine Weile windows Verwirrungen, die sich, und die Uhr verschwindet. alles was es braucht, um es zu beheben ist, ein rechts-Klick auf sein Symbol in der Taskleiste, aber es ist dennoch sehr ärgerlich. und so ist es mit sehr vielen windows - "Technologien". Sie haben Art verschlechtert, wie windows sich entwickelt hat.
InformationsquelleAutor Victor | 2013-02-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden
CreateWindowEx
mit (erweiterten) Fenster-StilWS_EX_TOPMOST
.Disclaimer: es ist etwa 15 Jahre oder so, da ich Sie berührte das Zeug.
InformationsquelleAutor Cheers and hth. - Alf
Hinweis:
SWP_NOMOVE | SWP_NOSIZE
sind für das ignorieren 3., 4., 5., 6. Parameter derSetWindowPos
Funktion.Dem zweiten parameter kann sein:
HWND_BOTTOM
HWND_NOTOPMOST
(set-Fenster ein normales Fenster)HWND_TOP
HWND_TOPMOST
(set-Fenster immer oben sein)SWP_NOMOVE
undSWP_NOSIZE
?Sie können alle Informationen abrufen über das angegebene Fenster von GetWindowLong und ändern Sie ein Attribut des angegebenen Fensters von SetWindowLong. aber SetWindowLong wird erst wirksam, wenn Sie aufrufen der Funktion SetWindowPos
Dank Amir sehr viel!
InformationsquelleAutor Amir
sehen SetWindowPos,
hWndInsertAfter
parameter. vorbeiHWND_TOPMOST
sollte das tun, was Sie wollen.darüber hinaus können Sie weitergeben wollen
SWP_NOMOVE | SWP_NOSIZE
zuuFlags
parameter, wenn Sie möchten, halten Sie die position und Größe unverändert.InformationsquelleAutor Hayri Uğur Koltuk
2 Noitidart, wie ich kann nicht kommentieren, die direkt
SWP_NOMOVE Behält die aktuelle position (ignoriert die X-und Y-Parameter).
SWP_NOSIZE Behält die aktuelle Größe (ignoriert die cx und cy-Parameter).
Wenn Sie sich nicht festlegen diese flags legen Sie position und Größe statt der übergabe von 0, 0, 0, 0
InformationsquelleAutor vik_78