Article View: de.comp.lang.c++
Article #540Re: Begrenzung Vollbild in Win31
From: Karl-Heinz Krause
Date: Mon, 09 Oct 1995 10:32
Date: Mon, 09 Oct 1995 10:32
56 lines
2856 bytes
2856 bytes
Am 8. Okt. 1995 schrieb Uwe Kreikenbohm
(kreikenb@wolf.waiblingen.netsurf.de):
> Hallo Cracks.
> Ich suche eine Möglichkeit, die maximale Fenstergroesse, sowohl beim manuellen
> vergroessern mit der Maus als auch beim Umschalten auf Vollbild ALLER
> Windows-Fensters zu Begrenzen.
> Am Bildschirmrand soll ein Bereich freibleiben, der nicht von anderen Fenstern
> ueberschrieben werden kann. Dies gilt immer füer ALLE Fenster !
> Dabei genuegt es nicht, das dieser freibleibende Bereich einfach nur immer
> ueber allen Fenstern liegt, andere Fenster duerfen auch nicht dahinter liegen
> (sonst fehlt ja ein Teil).
> Ich habs schon mit Abfangen der Meldung WM_GETMINMAXINFO mittels eines
> Systemhooks versucht, aber irgenwie klappt das nicht. WM_GETMINMAXINFO wurde
> nie abgefangen :-(.
Die Idee mit dem Abfangen von WM_GETMINMAXINFO war schon nicht schlecht.
Daß es nicht funktioniert hat, liegt vermutlich daran, daß Du den
falschen Hook benutzt hast. Kurzbeschreibung der wichtigsten Hooks:
WH_GETMESSAGE
Dieser Filter behandelt Botschaften, die mit GetMessage oder
PeekMessage von der Warteschlange abgerufen werden. In der Warte-
schlange sind nur Maus/Tastatur-Ereignisse und Botschaften, die
mit PostMessage ans Fenster geschickt werden.
WH_MSGFILTER
WH_SYSMSGFILTER
Diese Filter behandeln Botschaften, die von der Warteschlange ab-
gerufen werden, während ein modales Dialogfenster aktiv oder ein
Menü geöffnet ist.
WH_CALLWNDPROC
Dieser Filter behandelt Botschaften, die mit SendMessage ans Fenster
gesendet werden.
Die Botschaft WM_GETMINMAXINFO gehört zu denen, die an ein Fenster *ge-
sendet* werden. Du mußt also den WH_CALLWNDPROC-Filter benutzen. In der
Doku steht "The WH_CALLWNDPROC hook affects system performance. It is
supplied for debugging purposes only." Dieser Satz stammt vermutlich aus
den Zeiten, als Rechner noch mit 8 MHz liefen. Ich habe bei mir auch
ständig einen WH_CALLWNDPROC-Filter laufen, ohne daß man bzgl.
Performanz etwas davon merkt.
Unter Windows 3.1 (und später) gibt es noch eine weitere Botschaft, die
hier beachtet werden muß: WM_WINDOWPOSCHANGING. Fenster, die diese
Botschaft behandeln und nicht an DefWindowProc weitergeben, erhalten
keine WM_GETMINMAXINFO-Botschaft.
Karl-Heinz Krause
Technical Details
Message-ID:
<45atn3$4va@news00.btx.dtag.de>Path:
arc1-ca.pugleaf.net!news00.btx.dtag.de!not-for-mailReferences:
<4589ar$bqn@delos.lf.net>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!news00.btx.dtag.de!not-for-mail From: Krause@btx.dtag.de (Karl-Heinz Krause) Newsgroups: de.comp.lang.c++ Subject: Re: Begrenzung Vollbild in Win31 Date: 9 Oct 1995 10:32:03 GMT Organization: Telekom Online Internet Gateway Message-ID: <45atn3$4va@news00.btx.dtag.de> References: <4589ar$bqn@delos.lf.net> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Sender: 0913148778-0001@btx.dtag.de (Karl-Heinz Krause) X-Newsreader: Forte Free Agent 1.0.82