问题1:如何把窗体移动到屏幕的右下角,类似QQ上线有个消息框弹出来!我用了GetWindowRect(rect),MoveWindow()可是rect。right和bottom老实是398和309??是不是尺寸的问题MoveWindow老实不对!
问题2:如何能够想QQ上线一样,自动从右下角慢慢升起,停顿2秒,然后自己又慢慢降下去,求教各位大哥了
问题2:如何能够想QQ上线一样,自动从右下角慢慢升起,停顿2秒,然后自己又慢慢降下去,求教各位大哥了
解决方案 »
- WH_MOUSE_LL截取鼠标消息怎么写?
- 我的项目文字显示不全
- 本来以为除了Unicode的就是非Unicode的,谁能解释一下_MBCS是什么?
- Microsoft Platform SDK\Samples\WinUI\Shell\DragImg 编译出错是怎么回事???
- 怎么向RichEditView中加文字?
- 怎么去掉InstallShield安装程序下面横线左侧的“InstallShield”字样?
- VC读取EXCEL2003程序,SetValue函数编译出错,大虾们帮帮忙怎么解决,谢谢
- Crgn类的白哦是的一个多边形区域,如何获得多边形的顶点列表。
- 谁知道*.vcd的文件用什么播放?
- 5.1 good day!一个奇怪的CTreeCtrl使用。有兴趣请入内。
- 关于post消息被处理的顺序问题
- 关于VC上自动创建的对话框窗体的问题?
question2:用一个timer啊
用Timer定时MoveWindow移动窗口,自己控制一下速度
CWindowDC dc(this);
CRect winRect,rect;
GetWindowRect(rect);
winRect = rect;
dc.LPtoDP(winRect);
::MoveWindow(AfxGetMainWnd()->m_hWnd,winRect.right-60,winRect.bottom-100,60,100,FALSE);问题2,2,3楼兄弟,用Time和MoveWindow,我试了一下,有拖影,这个怎么解决,并且(可能是我的时间和移动距离设置不太好)效果不是很好,没有那种流畅的感觉!各位能够给断代码看看吗??
问题一,真的不知道怎么弄,可能是我给大家没说明白,我的意思是想把程序界面一出来就自动在右下角显示,面积大约Rect(0,0,100,100);就好像输入法的那个提示栏一样!
x=::GetSystemMetrics(SM_CXSCREEN);
y=::GetSystemMetrics(SM_CYSCREEN);
SetWindowPos(&wndTopMost,x-rect.Width(),y,rect.Width(),rect.Height(),
SWP_SHOWWINDOW);
如果用的是SM_CYFULLSCREEN,就连任务栏也盖住了。
但是用SM_CYSCREEN,把任务栏给挡住了。CYFULLSCREEN反而又多出了一个任务栏的距离,真没有搞明白
CRect winRect,scrRect;
//得到没有任务栏的屏幕大小,好像叫vitrual screen
::SystemParametersInfo(SPI_GETWORKAREA,NULL,&scrRect,NULL);
//我自己的窗口
GetWindowRect(winRect); SetWindowPos(&wndTopMost,scrRect.right -winRect.Width(),scrRect.bottom -winRect.Height(),winRect.Width(),winRect.Height(),SWP_SHOWWINDOW);再次谢谢大家
看来有的时候不能光靠字面上的意思想。