In DLL das Parent Fenster finden

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
E-P-S
Beiträge: 134
Registriert: 30.03.2007 09:39
Kontaktdaten:

In DLL das Parent Fenster finden

Beitrag von E-P-S »

Hi zusammen,

ich hab einen eigenen Dialog als DLL gemacht. Funktioniert auch prima, nur würde ich gerne das aufrufende Fenster während der Dialogbearbeitung inaktiv schalten.

Gibt es eine Möglichkeit in der DLL den Handle des Parent Fensters zu finden?

PS: Ich möchte das unbedingt OHNE vom rufenden Fenster aus einen Handle an die DLL zu übergeben?

Vielen Dank schonmal
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

Versteh ich jetzt nicht so ganz, aber geht es mit GetParent_(hWnd) ?
Benutzeravatar
E-P-S
Beiträge: 134
Registriert: 30.03.2007 09:39
Kontaktdaten:

Beitrag von E-P-S »

Vielen Dank,

hab mittlerweile auch ne Lösung gefunden. Ebenfalls über API ermittle ich einfach direkt nach Aufruf der DLL Funktion das aktive Fenster per

pWnd = GetActiveWindow_()

und schalte es dann ebenfalls über API aus

EnableWindow_( pWnd, #False )

dennoch...VIELEN DANK
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

ich würde dir trotzdem die lösung von edel empfehlen,
denn auf einem multitasking-system kann durchaus der fall eintreten,
dass das fenster, das den requester aufruft, inaktiv ist.

wenn der requester eine unmittelbare reaktion auf eine eingabe ist, ist das zwar weniger wahrscheinlich,
aber wenn der requester als reaktion auf irgendein processing genutzt wird,
kann ja der user zwischenzeitlich mit einem komplett anderen programm gearbeitet haben.

wenn du eine DLL baust, nehme ich mal an, dass sie recht unversell verwendbar sein soll,
also solltest du den wirklichen Parent ermitteln, damit bist du auf der sicheren Seite.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
E-P-S
Beiträge: 134
Registriert: 30.03.2007 09:39
Kontaktdaten:

Beitrag von E-P-S »

da ist was dran, danke für den Tipp.
Antworten