winamp style/non-client window area

I was wondering if anyone knew how to create a window that has the same style that Winamp does in C++. With winamp, it doesn't have the normal frame, border, system menu, minimize, maximize, and restore buttons. I would like to learn how to make a window that does this. Is it a window? Maybe it's some kind of dialog box or something. If anyone knows how, please tell me how it might have been made or how I can make a program that contains something like it, but without supporting skins. I think it might have something to do with painting the non-client area of the window. It has worked for a while, but when I resize, or click on some parts of the window, it exposes the normal window look. I was using CWindowDC.



  • This is what I have noticed:
    You can paint your custom borders (yeah, you've done right). The problem is if you set a sizable border: when the mouse hovers the border, some parts of the frame are repainted. I can only think some method of avoiding this:
    - Fake your WM_NCHITTEST. Do all you need to do, and don't fall to DefWindowProc.
    - Fake your WM_NCMOUSEMOVE. Same as above, but more difficult.
    If you don't need a sizable window, simply remove the style and everything should work with no triks.

    Hope this helps.

Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!


In this Discussion