The only way to get the icon to show in the task bar, it seems, is to use
WS_OVERLAPPED / WS_OVERLAPPEDWINDOW. The problem, then, however, is that I
get a caption and system menu. What I'd like to do is shrink this NC area
down to 0,0 so that even though it "exists", Windows never paints anything
and I have the entire window area as my client area. Make sense?
My problem is that going down this approach, I'm having difficulty w/
setting the NC area to 0,0. In some cases, activations, etc., I'm still
getting Windows trying to paint a caption there.
Some examples of what I'm trying to create: Outlook "notes", WinAmp main
window, etc... All of these are WS_OVERLAPPED windows so somehow they are
dealing with getting rid of the captions.
Would apprecate any help - down the direction I've taken, or other
suggestions, code samples. I'm an expert Windows programmer, but I'm getting
stumped on this one ;)
Regards,
Mike Oliver
Invertix
good luck
Thomas
"Mike Oliver" <mol...@invertix.com> schreef in bericht
news:eu9SZBEUBHA.2220@tkmsftngp05...
If you figure out how to tell Windows what the non-client and client region
of the windows are, please let me know, that part I don't know and the code
I've seen for doing this leaves the standard non-client and client areas,
though you can override the drawing for them.... But I (and probably you)
would like to just have one big client area...
Please post back if you figure this out.
"Mike Oliver" <mol...@invertix.com> wrote in message
news:eu9SZBEUBHA.2220@tkmsftngp05...
void CMainFrame::OnNcCalcSize(BOOL bCalcValidRects, NCCALCSIZE_PARAMS FAR*
lpncsp)
{
// do nothing - will cause window rect to equal client rect, no room left
for NC area
}
trap the WM_NCCALCSIZE message to prevent Windows from re-sizing the client
area to make room for the NC area, you can get 3/4 the way there. The
problem is that there are a whole host of "back-door" mechanisms whereby
Windows ignores the NC area and tries to paint the caption anyways!
Mike
<wl...@nospam.com> wrote in message news:9pv75l$pk0$1...@bob.news.rcn.net...
What you have to do is to catch the WM_NCPAINT message and return TRUE. This
way, the system will not draw anything.
-----------------------------------------------------------
"Mike Oliver" <mol...@invertix.com> wrote in message
news:eu9SZBEUBHA.2220@tkmsftngp05...
errr, try WS_POPUP|WS_SYSMENU
This style combo on Win2K at least results in a captionless borderless
window with a icon on the taskbar.
.Chris