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

如何改变对话框的位置?

编辑:说三道四文库 发布时间:2017-12-16 01:17
HTML文档下载 WORD文档下载 PDF文档下载
用MFC向导直接创建出来的对话框,是默认居中的
如何让他显示在屏幕的左上角?

我在初始化函数中这样写:
CRect rectDlg;
GetDlgItem(IDD_ROLEHURTCOUNT_DIALOG)->GetClientRect(&rectDlg); //想得到居中的时候对话框的位置坐标
为什么会报错?

我知道用MoveWindow或SetWindowPos
问题是,我都得不到现在居中的时候对话框的位置坐标,怎么去调整呢?
再用ClientToScreen()
用钩子,或者自己做个窗体来替换
引用 2 楼 little_sand 的回复:
用钩子,或者自己做个窗体来替换


要这么复杂阿。。。。
首先你的确认获取到的对话框句柄是否是有效的,然后再来设置位置
取得屏幕坐标再移动。
	CRect rect;
GetClientRect(&rect);
ClientToScreen(&rect);
rect.left = 0;
rect.top = 0;
SetWindowPos(this, 0, 0, rect.right, rect.bottom, SWP_SHOWWINDOW );

这样做为什么没变化阿
还是居中!
    CRect rect;
    GetClientRect(&rect);
    ClientToScreen(&rect);
    rect.left = 0;
    rect.top = 0;
    SetWindowPos(this, 0, 1, rect.right, rect.bottom, SWP_SHOWWINDOW );
    或者
    SetWindowPos(this, 1, 0, rect.right, rect.bottom, SWP_SHOWWINDOW );
引用 7 楼 byxdaz 的回复:
    CRect rect; 
    GetClientRect(&rect); 
    ClientToScreen(&rect); 
    rect.left = 0; 
    rect.top = 0; 
    SetWindowPos(this, 0, 1, rect.right, rect.bottom, SWP_SHOWWINDOW ); 
    或者 
    SetWindowPos(this, 1, 0, rect.right, rect.bottom, SWP_SHOWWINDOW );


好奇怪,这样写,我调试的rect是top=0 bottom=322 left=0 right=483
为什么还是居中显示,而不是左上角呢?
在OnInitDialog()中加入如下代码:

::SetWindowPos(this->m_hWnd,0,0,0,300,400,SWP_SHOWWINDOW);


代码经本人测试有效
报的什么错误?
SetWindowPos(this, 0, 0, rect.right, rect.bottom, SWP_SHOWWINDOW );
这句中的 this是什么,他只是类的实例罢了,
而 SetWindowPos 需要的是 窗口句柄。
所以应该用this的 m_hWnd,这才是句柄。
还有如果移动的是其他窗体的位置,可以用 FindWindow来查找句柄,之后再移动。
引用 7 楼 byxdaz 的回复:
    CRect rect; 
    GetClientRect(&rect); 
    ClientToScreen(&rect); 
    rect.left = 0; 
    rect.top = 0; 
    SetWindowPos(this, 0, 1, rect.right, rect.bottom, SWP_SHOWWINDOW ); 
    或者 
    SetWindowPos(this, 1, 0, rect.right, rect.bottom, SWP_SHOWWINDOW );


SetWindowPos(this, 0, 1, rect.right, rect.bottom, SWP_SHOWWINDOW ); 
为什么是(0,1)不是(0,0)?
CRect rectDlg;
GetClientRect(&rectDlg);
ClientToScreen(&rectDlg);
LONG lWeight1 = rectDlg.right - rectDlg.left;
LONG lHeight1 = rectDlg.bottom - rectDlg.top;

//如果不加50的话,对话框的下边和右边就会被裁掉一部分
::SetWindowPos(this->m_hWnd, 0, 0, 0 , rectDlg.right-rectDlg.left+50, rectDlg.bottom-rectDlg.top+50, SWP_SHOWWINDOW);


请问这是怎么回事啊?
真正的跨平台硬件测试:3DMark已打通PC、iOS、Android 将Chrome浏览器变成终端工具 【开源推荐】AllJoyn:打造全球物联网的通用开源框架 21张图带你走进Google数据中心 Snapchat C轮融资5000万美元 投资方是Coatue Management 又一个被谷歌寄生的平台,Chrome应用启动器现来到OS X上 雷军遇上刘德华:创业、艺术、移动互联网 为了抗衡Android,传微软开始考虑WP和WinRT免费 维护代码库的五个精华实践 微软发布安全补丁 IE11.0.2随之而来 Qt 5.2正式版发布 全面支持移动平台 如何节约手游制作成本?揭秘CocoStudio编辑器强悍功能 市场竞争白热化:三大云服务商上演双十二“三国杀” UCloud联手盛科实现SDN硬件应用 AWS,还有多远? Instagram推新私信功能Direct:支持照片、视频和文本信息 微软CEO鲍尔默最后一次受访:我的正确决定远远大于过错 中国创新碰撞硅谷思潮, 2013云世界大会定义云时代 Mozilla与设备商、运营商成立开放Web设备联盟 研发周报:暴露程序员身份的8个行为 专访“月熊志”公益网站技术负责人:利用技术的力量保护动物 【Hadoop技术博客推荐】站在风口的Hadoop技术研究者 2014趋势预测,大数据将成主流 国人当自强:两岸三地在线编程学习网站大搜罗 一周消息树:微软畏惧Chromebook、苹果失去优秀工程师 Google Dart语言开启标准化历程,取代JavaScript仍艰难 11款网站死链检测工具 谷歌Chromecast 2014:开放SDK、建生态系统 大举进攻客厅 优秀程序员的6个共同特质 开源的力量:“中国杯”游戏极限开发大赛 GNOME.Asia 2014年峰会时隔六年重返北京 WINxp问题,急!!!在线等!! 应该使用哪个? linux作为网络客户端的配置问题 怎么样看mfc向导编出来的程序? VB API 知多少? 急问!!请大家指点一下! 关于路径的问题! 急问!!请大家指点一下! 急问!!请大家指点一下! 女孩之为什么? 特别欢迎mm,jj进 如何在SQLSERVER的數據表中只是鎖定那條紀錄的那個字段?請高手幫幫忙!無限感激 简单的问题 为什么局域网的客户机有些网站访问不了? 动态创建CComboBox控件,为什么不能出现下拉框? 如何定义自己的包? 有会用VB读出ACCESS2000密码的吗? printf的问题,快速结帖 明天去新公司上班,散分!! 关于以前asp中的内置函数 想请问各位朋友一个问题 高分 如何择书与读书? mail发送问题 不知大家有没有测试过,似乎ADO的速度比DAO慢很多! 想请问各位朋友一个问题 想请问各位朋友一个问题 清那位高手指点一下 上海人,请讲信誉,我已忍无可忍了(放分) 修改计算机的名字导致SQL7.0不能启动,请问有什么修补的方法而不用重新安装SQL? c++ primer 候洁译与潘爱民译那个好些?? 为什么我的机会突然黑屏,但主机其实又没有关呢? 各位大虾,我是菜鸟,请问? 客户端的linux怎么才能通过域和代理的验证?? 加QQ:82439610 我来建个ORACLE、PL/SQL的QQ群! 大家多交流! 菜鸟问题:PHP中的变量使用前一定得声明吗?? 加QQ:82439610 我来建个ORACLE、PL/SQL的QQ群! 大家多交流! 用光驱看电影时经常说“显示器刷新率超出范围”,然后就只能重启,这是怎么回事? 加QQ:82439610 我来建个ORACLE、PL/SQL的QQ群! 大家多交流! 请问哪里可以免费下载到linux的源代码啊?谢谢! 如何择书与读书? 加QQ:82439610 我来建个ORACLE、PL/SQL的QQ群! 大家多交流! 我想转行到计算机软件,您有什么建议呢? 各位高手,看看这个贴!!谢谢 菜鸟问题:请教red hat下用.iso的安装镜像文件升级软件包的问题 这个中秋霉到家了,看看还有没有比我更霉的,同时祝愿自己能快点度过难关好起来!!!!!!!!!! 帮忙看看这个SQL语句什么地方错了? 此上机题的程序代码应该怎么写 想找个unix高手,有没有啊? 那里有java的帮助手册下载?类似于萎软的msdn & 0xFFF0是什么意思 银行存钱手续费问题 而那过去了的,就会成为亲切的怀恋.“为什么对那过去的忧郁的日子还会亲切地怀恋?你有过这样的人生体验假如生活欺骗了你,不要悲伤,不要心急!忧郁的日子里需要镇静:相信吧,快乐的日子 从完璧归赵这个故事中得到什么启示? 完璧归赵给人什么启发 一个人的基因信息是否会随着一个人的健康状况而改变的?比如一个人生病前的基因信息和生病后的基因信息是否完全一致的? 暖壶底拧了还是老晃,怎么办? 求有一位老师在操场上给同学和家长讲课 这个视频的名字是什么 水木年华的歌里有一句歌词是“让我为你唱首歌”请问这是什么歌?很好听的······ 阅读历史故事《完璧归赵》完成习惯里面的从画线句子可以看出秦王说用15座城池交换和氏璧是_____,蔺相如看出了秦大王的用心,采用了_________的方法拿回了宝玉.读完故事,我知道了蔺相如是 形容 请人担任职务 的成语 请问,有一种树,属于类似于含羞草合拢的样子,“花”是一个黄色的小绒球. 日子天天的过去,一淡忘哪个谁对与不对 歌词 美研发新型间谍机 可一小时内到达全球泰国芭堤雅发生游船沉没事故 造成中国如何确保机密数据安全?把密码藏在潜意港媒:设计师为《人民日报》新大楼辩护中国如何从西方垃圾中获益港报:“伙伴关系”成中国重要外交工具浙江普陀山大型翡翠观音宝像开雕(图)广州高端相亲会测谎仪上阵 许多女性表温州两干部停车救人被撞身亡 被追授“赣州副市长否认脐橙染色 记者暗访揭染孙杨涉嫌无证驾驶 被交警带走或面临1@今日话题榜四月空气 三水跌至最差成功的奥特莱斯都靠一条高速公路 城市仲恺普高正取生免学费出租车行驶中自燃湿嗒嗒 黏糊糊中考招生 今年学位增加4000个国美极信通信170号段上线7折学美甲课程眼光长远点 莫计较分红牛!一个营销中心花了3亿元我的女儿之我的天使冷夫的鬼妻都市战狼(爱香烟的火柴)吃嫩草,别犹豫中国制造武林外史同人之我是朱七七花都王一品公卿抗日之煞神传奇豪门欢:我的大人物老公道缘儒仙凭祥旅游临江旅游塔城旅游互助旅游泾县旅游高邮旅游宁国旅游双流旅游刚察旅游福鼎旅游大洪山旅游
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘