Einzelnen Beitrag anzeigen

Fellmer Lloyd
(Gast)

n/a Beiträge
 
#1

[Eledigt] Überprüfen ob ein Fenster(Handle) ein Child ist

  Alt 29. Jun 2004, 14:00
Hallo!

Ich habe ein Programm geschrieben, mit welchem man diverse Fenster verbergen/anzeigen kann. Um dies zu erreichen sende ich eine Message (SW_Hide/SW_Show) an das betroffene Handle.
Ich suche das Handle mittels Fensterklasse (z.B 'IEFrame').

Es klappt im Prinzip auch alles gut, bei einigen Programmen tritt jedoch folgender fehler auf:
Hat das fremde Anwendungsfenster irgend ein zweites Handle mit dem gleichen Klassennamen, wird dieses irgendwie vom "Hauptfenster" gespaltet. Das heisst man sieht nach der SW_Show Message ein zweites, kleines Fenster dass keinen Inhalt hat.

Ich nehme an, das mein Programm an ein "Child-Handle" eine eigene Message sendet, und daher dieser Effekt auftritt.

Gibt es eine Möglichkeit zu überprüfen, ob das Handle ein wirkliches Fenster ist, oder ein Child?
Oder liegt das problem möglicherweise an einem andere Ort?

Mit folgenden Überprüfungen bin ich bis jetzt gescheitert:
Delphi-Quellcode:
if IsWindow(Handle)=False then //Keine Message senden
if GetParent(Handle)=Handle then //Keine Message senden
Die IsChild Funktion kann ich nicht verwenden, da sie das Parent-Handle erwartet.

Hmm... irgendwie habe ich das Gefühl, das Problem liegt wo anders.

Falls erwünscht kann ich ein kleines Demo-Projekt erstellen. Ich glaube ich habe mich kompliziert ausgedrückt, wie immer
  Mit Zitat antworten Zitat