vc6
windows xp
基于对话框的
想实现的效果:点击一个按钮,实现对话框窗口最小化。
实现代码如下:void CXXX::OnStaticMinimize() 
{
// TODO: Add your control notification handler code here
// OnSysCommand(SC_MINIMIZE, NULL);
CPoint pt;
::GetCursorPos(&pt);
ScreenToClient(&pt);
SendMessage(WM_SYSCOMMAND, SC_MINIMIZE, MAKELPARAM(pt.x, pt.y));
}现在的现象是,点击按钮边上的某一个地方能实现最小化。
但点击其他位置,却没有最小化的效果,调试时能进入该函数。
谢!

解决方案 »

  1.   

    CXXX::OnStaticMinimize() 这是个什么函数?
      

  2.   

    需要那么麻烦吗,直接this->ShowWindow(SW_MINIMIZE);
      

  3.   

    应该还是坐标的问题 你把 ::GetCursorPos(&pt);
        ScreenToClient(&pt);
    两个换个位置试一试,也许可以
      

  4.   

    PostMessage(WM_SYSCOMMAND, (WPARAM)SC_MINIMIZE, (LPARAM)0);
      

  5.   

    直接一下语句
    ShowWindow(SW_MINIMIZE);
      

  6.   

    SendMessage(WM_SYSCOMMAND, SC_MINIMIZE, NULL);