将程序窗口显示在桌面工作区的右下角

来源:互联网 发布:软件项目配置管理计划 编辑:程序博客网 时间:2024/05/22 09:45
 重载OnShowWindow
void CsiphelloDlg::OnShowWindow(BOOL bShow, UINT nStatus)
{
    CDialog::OnShowWindow(bShow, nStatus);

    
//对话框在桌面右下角显示
    CRect rcMy;
    ::GetWindowRect(m_hWnd, rcMy);  
//得到自已的大小

    RECT rcDesktop;
    ::SystemParametersInfo(SPI_GETWORKAREA, NULL, 
&rcDesktop, NULL); //得到桌面工作区的大小,不包括任务栏或其它桌面Dock程序

    INT Y 
= rcDesktop.bottom - rcMy.Size().cy;
    INT X 
= rcDesktop.right - rcMy.Size().cx;

    ::MoveWindow(m_hWnd, X, Y, rcMy.Size().cx, rcMy.Size().cy, TRUE);
}