Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi WS_Visible Benutzung? (https://www.delphipraxis.net/87981-ws_visible-benutzung.html)

Relicted 8. Mär 2007 12:49


WS_Visible Benutzung?
 
Hi!

Ich habe eine kleines Problem:
Ich versuche ein Installationsprogramm "fernzusteuern". Leider sind in diesem Programm dauerhaft bestimmte Buttons usw. vorhanden, aber nicht sichtbar.

Ich möchte nun prüfen ob ein bestimmter Button, den ich theoretisch als nächstes drücken müsste schon sichtbar ist.
Über diverse Tools konnte ich herausfinden, dass die Buttons nicht sichtbar sind, also für mich ein anhaltspunkt darauf zu prüfen.

Nun meine Frage:

Wie benutze ich die Message WS_Visible ( handle vorhanden ) so, dass ich einen rückgabewert erhalte, welchen ich dann verwerten kann ?

Gruß
Reli

Flocke 8. Mär 2007 12:57

Re: WS_Visible Benutzung?
 
WS_VISIBLE ist keine Meldung sondern ein Fensterstilbit. Abfragen kannst du es mit IsWindowVisible(Handle) oder (GetWindowLong(Handle, GWL_STYLE) and WS_VISIBLE)<>0.

Relicted 8. Mär 2007 12:58

Re: WS_Visible Benutzung?
 
ok - funktioniert das auch mit controls ?

SirThornberry 8. Mär 2007 13:01

Re: WS_Visible Benutzung?
 
das funktioniert mit allem was ein Fensterhandle hat. Ohne Fenster-Handle kannst du nix prüfen. Wenn das Fenster-Handle vorhanden ist kannst du prüfen.

Luckie 8. Mär 2007 21:45

Re: WS_Visible Benutzung?
 
Um unseren Adligen im Team zu ergänzen: Sollte das Programm it Delphi geschrieben sein und wird zum Bispiel ein TLabel verwendet, geht das nicht, da THandle kein Handle besitz, da es von TGraphicControl abgeleitet ist und "Delphi" das zeichnen über nimmt. Im Gegensatz zu TButton, welches nur die Windows-Fensterklasse BUTTON kapselt, welche natürlich ein Handle hat. Willst du ein unsichtbares Fenster (auch BUTTONS sind Fenster) sichtbar machen, dann versuch mal MSDN-Library durchsuchenShowWindow mit dem entsprechenden Handle und dem entsprechenden Flag (SW_SHOW). Allerdings frage ich mich, was das bringen soll. Da die Steuerelemente ja nicht umsonst nicht sichtbar sind, da sie ja wohl zu diesem Zeitpunkt sowieso keine sinnvolle Funktion haben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:11 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