home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.os.ms-windows.programmer.misc
- Path: sparky!uunet!munnari.oz.au!bruce.cs.monash.edu.au!monu6!yoyo.cc.monash.edu.au!sloth
- From: sloth@yoyo.cc.monash.edu.au (Andrew Bulhak)
- Subject: Subclassing non-client painting of all windows
- Message-ID: <1992Nov12.135030.593@monu6.cc.monash.edu.au>
- Sender: news@monu6.cc.monash.edu.au (Usenet system)
- Organization: Monash University General Access Unix
- X-Newsreader: TIN [version 1.1 PL6]
- Date: Thu, 12 Nov 1992 13:50:30 GMT
- Lines: 29
-
- I would like to know how to go about intercepting the Windows non-client
- painting/hit-testing behaviour _system-wide_ and reacting to it.
- I would like to write an app that intercepts these calls and allows the
- Windows look-and-feel to be subtly modified (i.e., bas-relief title
- bars, different/repositioned minimize/maximize controls,
- left/right-justified titles, etc.)
-
- The problem is, firstly, how do do this. wm_NCPaint and wm_NCHitTest (and some
- other nice functions) don't come with a window handle, DC, cursor
- position or anything else remotely useful.
-
- And secondly, how do I set this up? I suspect that it may have something
- to do with making a DLL that contains a replacement DefaultWindowProc()
- (although I could be wrong, and it may have something to do with hooks.)
- This DLL trick is explained in Petzold, but only for *one* application,
- and with that application's consent and co-operation. How would I
- intercept *all* messages, system-wide, identify the windows that they
- apply to, let them run their course (if necessary), and add my own
- finishing touch? Anyone done this sort of thing?
-
- AdTHANKSvance;
-
-
- +-----------------------------------------------------------------------+
- | Andrew Bulhak | If only there was a version of UNIX |
- | sloth@yoyo.cc.monash.edu.au | that could run Microsoft Windows... |
- | Monash Uni, Clayton, | |
- | Victoria, Australia | |
- +-----------------------------------------------------------------------+
-