![]() |
Suche: IsTopLevel(HWND)
Hallo!
Wie kann ich herausfinden ob ein bestimmtes Window ein Top-Level-Window ist? Grüße blablab Edit1: Kann es sein, dass ein Window genau dann ein Top-Level-Window ist, wenn es ein direktes Child von DesktopWindow ist? Edit2: Scheinbar nicht :) |
AW: Suche: IsTopLevel(HWND)
![]() |
AW: Suche: IsTopLevel(HWND)
Mittels
![]() ![]()
Delphi-Quellcode:
passt :)
WS_EX_TOPMOST
|
AW: Suche: IsTopLevel(HWND)
Delphi-Quellcode:
function IsTopLevel(Handle: HWND): Boolean;
var info: TWindowInfo; begin info.cbSize := Sizeof(info); GetWindowInfo(Handle, info); result := ((info.dwStyle and WS_CHILD) = 0); end; |
AW: Suche: IsTopLevel(HWND)
Schau mal
![]() |
AW: Suche: IsTopLevel(HWND)
Vielen Dank für die vielen Antworten!
Das heißt also ein Top-Level-Window hat kein Parent aber eventuell ein Owner. Theoretisch könnte ich also GetParent verwenden um herauszufinden ob es Top-Level ist aber leider gibt GetParent gelegentlich auch einfach den Owner statt Parent zurück. Also ist GetParent nicht empfehlenswert. Außerdem haben nur Top-Level windows den Window-Style WS_CHILD nicht. Also sollte ich nach WS_CHILD gucken!? Habe ich das richtig verstanden? Kann ich dann statt
Delphi-Quellcode:
auch
GetWindowInfo
Delphi-Quellcode:
verwenden?
GetWindowLong
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz