🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: de.comp.lang.c++
Article #540

Re: Begrenzung Vollbild in Win31

#540
From: Karl-Heinz Krause
Date: Mon, 09 Oct 1995 10:32
56 lines
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-mail
References: <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