去掉标题栏和边框以后发现点下面任务栏的时候,窗口不会自己最小化了,,,有没有API直接支持,还是只能自己在preprocessmsg里边找消息?

解决方案 »

  1.   

    窗口创建好后
    ModifyStyle(0, WS_SYSMENU|WS_MINIMIZEBOX|WS_MAXIMIZEBOX);
    SetWindowText(_T("App caption"));
      

  2.   

    截获WM_LBUTTONDOWN消息,在此模拟鼠标点击是窗口标题
    消息,实现代码void CInterfaceDlg::OnLButtonDown(UINT nFlags, CPoint point) 
    {
    // TODO: Add your message handler code here and/or call default
    PostMessage(WM_NCLBUTTONDOWN,HTCAPTION,MAKELPARAM(point.x, point.y));
    //向系统发送HTCAPTION消息,让系统以为鼠标点在标题栏上
    CDialog::OnLButtonDown(nFlags, point);
    }
      

  3.   

    2楼是对的...只要有WS_SYSMENU STYLE就可以了
      

  4.   

    MSDN原文:WS_SYSMENU   Creates a window that has a Control-menu box in its title bar. Used only for windows with title bars.
      

  5.   


    // 自定义扩展
    // 无标题、无边框窗口
    #define UI_WNDSTYLE_FRAMLESS \
        (WS_VISIBLE & (~WS_BORDER) & (~WS_BORDER) | WS_SYSMENU|WS_MINIMIZEBOX|WS_MAXIMIZEBOX)   
    这是我最后的结果,实践证明,是有效的,,,