桌面工具栏应用程序 problem!!!
我编写了一个桌面工具栏应用程序在初始对话框的时候,进行操作,
一切都很正常,就是在设置WINDOW位置时出现了问题.问题是:我的窗口的位置不再显示器得最上面,源码如下:
BOOL CAppbarDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// Set the icon for this dialog. The framework does this automatically
// when the application's main window is not a dialog
// TODO: Add extra initialization here
abData.cbSize=sizeof(APPBARDATA);//abData是APPBARDATA类型
abData.hWnd=this->m_hWnd;
abData.uCallbackMessage=APPBARMESSAGE;
if(!SHAppBarMessage(ABM_NEW,&abData))
{ TRACE("Error in SHAppBar Message!\n");
}
else
TRACE("ok\n");
abData.uEdge=ABE_TOP;
CRect defRect(0,0,GetSystemMetrics(SM_CXSCREEN),GetSystemMetrics(SM_CYSCREEN));
abData.rc=defRect;
SHAppBarMessage(ABM_QUERYPOS,&abData);
switch(abData.uEdge)
{
case ABE_TOP:
abData.rc.bottom=abData.rc.top+28;break;
case ABE_BOTTOM:
abData.rc.top=abData.rc.bottom-28;break;
case ABE_LEFT:
abData.rc.right=abData.rc.right+400;break;
case ABE_RIGHT:
abData.rc.left=abData.rc.right-400;break;
}
SHAppBarMessage(ABM_SETPOS,&abData);
MoveWindow(&abData.rc);//问题就出在这了,显示时不对,不止为什么? //恳请各位帮忙,谢谢了
abData.lParam=true;
//SHAppBarMessage(ABM_SETAUTOHIDEBAR,&abData);
return TRUE; // return TRUE unless you set the focus to a control
}