CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

如何移动控件的位置?

楼主chongbao(chongbao)2000-12-26 15:36:00 在 VC/MFC / 基础类 提问

我这样移动:  
  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

相关问题

  • 如何移动form上的控件的位置?
  • 如何移动控件
  • 如何获取当前光标的位置. 怎么移动一个listBox控件
  • 如何控制Web控件的位置,比如我要移动一TextBox的位置?100分
  • 如何实现鼠标移动控件?
  • 如何在程序中移动控件?
  • 如何在DataPeport1.section1中移动RptLine1控件????
  • 如何通过控件移动窗体?
  • 如何实现image控件在picture控件中移动
  • 如何让鼠标在移动时获取其指向位置的窗口(控件)的句柄?

关键词

  • 控件
  • 移动
  • 坐标
  • top
  • b3
  • getwindowrect
  • crect
  • bottom

得分解答快速导航

  • 帖主:chongbao
  • luxes

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo