怎么作出象winamp那样的停靠窗口?
解决方案 »
- 在MFC应用程序里使用“按钮”控件,遇到问题,求助大虾!
- CAsyncSocket编程一个十分郁闷的问题,执行Connect函数报告异常
- EVC 升级VS2005 链接错误
- 怎样在程序中选择录音输入设备,在线等待!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- 50求高手帮我修正下面的程序
- 关于基于Dialog对话框的OCX控件在IE中的问题
- ADO连接Orancle数据库的问题?
- 求救:读取目录名的通用对话框是那个?
- 怎样定义一个浏览按钮以打开系统的目录,就象很多应用软件那样,能用一个下拉列表显示目录
- 寻求帮助:'Idiv_t' : undeclared identifier 这个“Idiv_t”我应该怎么声明或者包含什么头文件?谢谢大家
- 两个问题,一个关于DLL,一个关于Process
- HOW TO DO?
{
//自动靠边
int iSX=GetSystemMetrics(SM_CXFULLSCREEN);
int iSY=GetSystemMetrics(SM_CYFULLSCREEN); RECT rWorkArea;
BOOL bResult = SystemParametersInfo(SPI_GETWORKAREA, sizeof(RECT), &rWorkArea, 0); CRect rcWA;
if(!bResult)
{
//如果调用不成功就利用GetSystemMetrics获取屏幕面积
rcWA=CRect(0,0,iSX,iSY);
}
else
rcWA=rWorkArea; int iX=lpRect->left;
int iY=lpRect->top;
if(iX < rcWA.left + DETASTEP && iX!=rcWA.left)
{
//调整左
//pWnd->SetWindowPos(NULL,rcWA.left,iY,0,0,SWP_NOSIZE);
lpRect->OffsetRect(rcWA.left-iX,0);
AdjustPos(lpRect);
return TRUE;
}
if(iY < rcWA.top + DETASTEP && iY!=rcWA.top)
{
//调整上
//pWnd->SetWindowPos(NULL ,iX,rcWA.top,0,0,SWP_NOSIZE);
lpRect->OffsetRect(0,rcWA.top-iY);
AdjustPos(lpRect);
return TRUE;
}
if(iX + lpRect->Width() > rcWA.right - DETASTEP && iX !=rcWA.right-lpRect->Width())
{
//调整右
//pWnd->SetWindowPos(NULL ,rcWA.right-rcW.Width(),iY,0,0,SWP_NOSIZE);
lpRect->OffsetRect(rcWA.right-lpRect->right,0);
AdjustPos(lpRect);
return TRUE;
}
if(iY + lpRect->Height() > rcWA.bottom - DETASTEP && iY !=rcWA.bottom-lpRect->Height())
{
//调整下
//pWnd->SetWindowPos(NULL ,iX,rcWA.bottom-rcW.Height(),0,0,SWP_NOSIZE);
lpRect->OffsetRect(0,rcWA.bottom-lpRect->bottom);
return TRUE;
}
return FALSE;
}
//然后在ONMOVEING事件中使用所下过程调用
CRect r=*pRect;
AdjustPos(&r);
*pRect=(RECT)r;