说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

如何改变对话框中控件的位置?

编辑:说三道四文库 发布时间:2017-05-23 05:31
HTML文档下载 WORD文档下载 PDF文档下载
我打算在我的程序中改变对话框中控件的大小,让控件的大小随着对话框改变而相应变化。我用GetClientRect()去得控件的位置信息,但只有right和bottom的值,left和top的值都是0。我想用MoveWindow()或者SetWindowPos()来重画控件,但只有right和bottom的值,只能确定宽度和高度,却无法确定位置。想请问各位大虾我应该怎么办呢?
你用ClientToScreen() 或则 ScreenToClient()转换一下,就有left 和 top了。
用 GetWindowsRect 试试,用GetClientRect当然left&top是0
你用MoveWindow()或者SetWindowPos()来重画控件的想法是对的,
但left和top的值都是0。是因为GetClientRect()得到的是控件的逻辑坐标,对控件而言,其left 和 top当然为0了!那怎么办呢?方法为:
(1)在你的控件中调用ClientToScreen()//将你的控件的rect转为Screen坐标
(2)在你的控件中调用GetParent()->ScreenToClient()//将Screen坐标转换为相对你的对话框Wnd的逻辑坐标!

注意“在你的控件中调用”这句话很有意义的,因为当前窗口对象不同,调用函数的意义不同,因为你的控件和你的对话框均为“CWnd对象”
MoveWindow
最简单的方法是:CRect rcWin;GetWindowsRect(&rcWin);即可!
mark
“BlackBerry 10移动应用开发大赛”应用推荐 Java程序优化的一些最佳实践 Heka:Go编写,来自Mozilla,高效、灵活的插件式数据挖掘工具 Anchora鲁为民:PaaS是我的兴趣 次世代IDE Light Table 0.4发布 带来众多更新和改进 别再设计易碎的Web API! LinkedIn:55人支持2700位员工,2亿用户的大数据分析 Brian Krzanich是谁?这位新CEO预示英特尔未来怎样? HTML5开发者心声:浏览器兼容性成最大问题 传微软6月下旬将发布第二代Surface 7到9英寸全有 Turbulenz:HTML5 2D和3D游戏引擎开源 携程开放平台总经理夏天:内容+高转化率成就开发者 直接拿来用!最火的Android开源项目(一) Qunar 谌振宇:旅游行业的移动化如何布局? 大数据分析“铁三角”: Teradata数据仓库、Teradata Aster与Hadoop Teradata专业服务:打造行业企业的“数据科学家” Xamarin Evolve 2013:竭尽全力让C#服务iOS与Android 史上最全!57个Web框架4轮横向对比 回顾银行数据的可用性和一致性历史 Qubole:托管在AWS平台上的Hive服务 自由操作系统 Debian 正式发布7.0版本 4月份浏览器份额:IE 8仍居第一,IE 10翻番 亚马逊正式在华推Android应用商店 收入3:7分账 不要男孩,只允许女生参加的四所编程学校 下一波App机会在哪里? JS1K 2013优胜作品公布 3D蜜蜂仅获亚军 专访:前新浪网架构师徐佳转行卖水果背后的故事 FBI密码挑战,你能解开吗? 从0到1只需一天:Twitter后PC时代物联网“敏捷”开发之路的探索 机械生物已经面世 只少个“大脑”而已 百度正式宣布3.7亿美元收购PPS视频业务 请教高手有关C#的DLL的使用???? 我想找一个比较好的菜单系统,哪有呢? iis5.0中的调试能不能做到象在pws中一样轻松? 在线等待,马上送分:怎样将Query查询的数据集全部删除,数据库SQL中的数据也删除 大家一定遇到过同样的问题!有好办法吗? 如何扩充linux的硬盘空间? 关于JBuilder7的注册码和key 一点小问题,请帮帮忙 请教:哪边有详细介绍使用VBSQL对DB库API编程的?? 急!!!我用push模式把dataset的值在运行时,动态赋给crystal report, 在有.net的开发环境中运行没有任何问题,可是在只有发布后,执行 在线等待,马上送分:怎样将Query查询的数据集全部删除,数据库SQL中的数据也删除 linux下的图形处理程序,哪里可找到? EJB菜鸟级问题,我有分可捐赠,那位要请在这里说 报错的原因(Invalid cursor state) infopower有没有for BCB5的呢??哪里可以下载?? 奇怪的现象! 关于接口 请大家提供方案 同志们我想问的是高程中考的是标准C还是C++ SQL查询结果问题 在Delphi中我如何得到,打印机任务个数? 刚上来散分了 安装softice后,机器不能启动了!!!!!! datawindow的edit有editchanged事件,即一改变内容就触发,我想将这个事件加在multilineedit控件里,自定义事件要选择哪个EventID? 在存储过程中如何使用表名变量? 一点小问题,请帮帮忙 菜鸟求助 用VC对WORD文档进行一些操作,高分求救 Suspicious pointer conversion 是什么警告啊? 有哪位高手知道微软提供的的简繁互转的组件是哪个,在线等待,高分送 紧急求助!!既可以选择还可以接受用户输入的下拉选框!!万分感谢!! 在jsp页面中如何实现显示一行文字消息后再更改该文字的内容?? 高分求Excel基本操作代码,如打开关闭文件、取单元格数据之类的 关于MSHFLexGrid与ADODC的几个问题 什么是内建数据库? 请问Delphi 6怎么样才能激活Invokable向导? 安装softice后,不能启动机器了!!!!!!!! 听听StringGrid 隐藏行的好建议,别讲RowHeight[i]=0阿 关于VB调用Excel打印报表的问题 哪有电脑知识问答题? 我有项目,有谁参加??? 请问哪儿能下载模块 ming? 这样的情况还能用StringGrid吗???如果不可以那用什么?DBgrid? 致JAVAMAIL配置不成功者--即编译通过但运行不了的朋友 请问asp.net 项目开发中,页面设计与代码编写如何分工 这个地方怎么回事?(代码) 不能上网??为什么?我想不明白?? ASP包含文件问题,给分50,在线等候ING。。。。 怎樣在applet中控制button的大小和具體位置? 从Microsoft操作系统的发展中,我们可以看到操作系统最终目标是OFS,它基于一种内建数据库技术,最终什么样的数据库,也就是何为内建数据 鼠标左键按下拖动是对应的windows消息是哪个?(像WM_LBUTTONDOWE)
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘