如何移动控件的位置?
我这样移动:
CRect r;
m_b3.GetWindowRect(&r);
r.top=r.top-10;
r.bottom=r.bottom-10;
m_b3.MoveWindow(&r);
目的是使一个按钮控件被点击时向上移动一下,但运行后发现这样做每次点击按钮它只会向右下方移动,且每次移动的量是一定的,即top和bottom都加54,left和right都加129.
后来我用SetWindowPos(),不管里面的参数怎么设,它都是这样移动.最后我索性这样做:
CRect r;
m_b3.GetWindowRect(&r);
m_b3.MoveWindow(&r);
这个控件还是同样向右下方定量移动,搞得我都没办法了.
请各位高手帮忙,谢谢!
问题点数:70、回复次数:4Top
1 楼()回复于 2000-12-26 15:45:00 得分 0
看看。你GET到的CRect可能有几千。吓死你。真的。
看看他们的大小就知道了
Top
2 楼sun2000(非常可乐)回复于 2000-12-26 16:05:00 得分 0
方法太怪了Top
3 楼luxes()回复于 2000-12-26 16:16:00 得分 0
兄弟,你的两个函数的坐标体系不一样.
GetWindowRect是以屏幕为坐标的
在
GetWindowRect后面加上一句:ScreenToClient(&r)就可以了
Top
4 楼luxes()回复于 2000-12-26 16:17:00 得分 70
兄弟,你的两个函数的坐标体系不一样.
GetWindowRect是以屏幕为坐标的
在
GetWindowRect后面加上一句:ScreenToClient(&r)就可以了
Top




