关于伪对话框全屏遇到的有关问题:无法隐藏任务栏和右边边框

关于伪对话框全屏遇到的问题:无法隐藏任务栏和右边边框
正在写一个播放器。想实现全屏播放(即窗口客户区铺满屏幕)。依赖于directshow提供的全屏接口会出现黑一下屏的现象。所以我想通过调整窗口大小来实现伪全屏。
我的窗口本来是有标题栏,边框为Resizing

方法一:计算出屏幕的分辨率。计算出标题栏和边框的高度。设置窗口大小,然窗口的客户区大小为屏幕分辨率的大小。
代码如下:
static int iScreenX= GetSystemMetrics(SM_CXSCREEN);    // X分辨率
static int iScreenY= GetSystemMetrics(SM_CYSCREEN);    // Y分辨率
static int iFrame = GetSystemMetrics(SM_CYFRAME); //边框高度或宽度
static int iCaption = GetSystemMetrics(SM_CYCAPTION); //标题栏高度
static BOOL full = FALSE;//是否处于全屏状态
static RECT rc;//保存全屏前窗口的位置和大小
if (!full)
{
       GetWindowRect(&rc);//保存全屏前的大小。
        SetWindowPos(NULL,-iFrame,-iFrame-iCaption,iScreenX+2*iFrame,iScreenY+2*iFrame+iCaption,0);
}
else
{
MoveWindow(&rc);
}
full = !full;
CDialogEx::OnLButtonDblClk(nFlags, point);

我看网上的全屏也是这么实现的。可是我测试的结果是全屏不理想:任务栏还在显示,右边的边框还有显示,如下图:
关于伪对话框全屏遇到的有关问题:无法隐藏任务栏和右边边框

方法二:
最大化的关键代码

ModifyStyle(WS_CAPTION,0,0); 
ShowWindow(SW_SHOWMAXIMIZED);

效果还是和方法一一样。

怎么解?
对话框全屏

------解决方案--------------------

void CtetDlg::OnBnClickedButton1()
{
    int nFullWidth=GetSystemMetrics(SM_CXSCREEN); 
    int nFullHeight=GetSystemMetrics(SM_CYSCREEN);
    ModifyStyle(WS_CAPTION
------解决方案--------------------
WS_THICKFRAME,0); 
    SetWindowPos(NULL,0,0,nFullWidth,nFullHeight,SWP_SHOWWINDOW); 
}

亲测有效