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

如何改变对话框的位置?

编辑:说三道四文库 发布时间:2017-01-18 10:12
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);


请问这是怎么回事啊?
EditText中显示隐藏Android输入法窗口 自定义ListView行间的分割线 Android程序完全退出的三种方法 WebView使用技巧和介绍 EditText仅允许特定类型数据输入 自定义Android应用的访问权限 android.text.format文件大小和日期解析类 Android Rootkit相关揭秘 androidmanifest.xml高级属性解析 根据packageName构造Context SQLite操作,还是raw方法更简洁高效 Android开发基础YesNo对话框构造代码 Android代码性能优化技巧 Android开发注意点 Part One onSaveInstanceState和onRestoreInstanceState的用处 Android基础概念Context的作用 在Android的Notification中显示进度条 Android跨进程数据通讯-剪切板Clipboard ConditionVariable Android线程同步 Android软件开发方向指导 ArrayList LinkedList Set HashMap介绍 PermissionInfo Android权限枚举方法 Android上HTTP协议通讯状态获取 Android开发需要自己完善的类库总结 Android的ListView控件滚动时背景问题 GestureDetector手势识别类 - 进阶篇 MenuInflater Android菜单从xml创建方法 EditText输入提示你知道吗? Android布局Java代码构造法 Android全屏设置代码 测试Android软件性能主要方法 请问哪里有支持 ASP 的服务器下载?(空) 为什么我的硬盘找不到了呢? 如何在sqlserver7中实现ID字段自动递增?(SOS) 为什么98下可以到2000下不行了.关于openfilename???????????????????????????? (困惑请教 )关于内存释放的一些问题! 数据库操作出错该如何避免???? 我是第一次来到CSDN,大家多关照! YYSUN关于大富翁论坛的解释(从水母看到的) vb 访问SYBASE的问题 支持北京伸奥的朋友,进来签个名吧! 怎样截获一个应用程序的消息? 数据结构得答案 大连的软件人员工作环境怎么样? 不好意思,小弟又来麻烦大家了! 上次的文章到那儿去了? enmity,进来,我给你结帐 enmity,进来,我给你结帐!! 各位侠客帮忙啊,重新装系统出了问题! 将10进制转换成16进制的函数是什么啊? VC高手,怎样以编程的方法实现磁带机的Backup 和 Restore. enmity,进来,我给你结帐.共200分 支援白菜300分,支持白菜个人网站建设:))) CMM 的缩写是什么? 想和大家讨论一下怎样系统的编制软件 如何实现和Word、CorelDRAW同样效果缩放位图 请问各位大哥大爷大妈大。。。。。。。。。。。。。哪里有支持 ASP 的服务器软件下载 我该如何控制IP地址??高手请进。。。 弱弱地问:关于SQL server中的中括号。 各位侠客帮忙啊,重新装系统出了问题!! 一点点小问题????? 请问在 WINDOWS98 下面,除了IIS,还有没有支持 PHP 的服务器软件呢? 在ADO中如何获取表名 关于ASN树的问题(snmp中的MIB的拓扑树) 你是高手你进来!!!!! 各位的顶级域名都在哪申请?价格/速度如何?大家都来说说! DirectX8的MultiFileReader过滤器怎么找不到? 关于用VB显示ado数据库中的图像字段问题 大家来谈谈Msdn如何有效利用 请各位帮忙查看我这段程序错在哪里 , 我是照书上做的 , 可就是无法保存. SQL plus 为何无法登录?? 谁要下载msdn? 紧急求救!寻找工作! 最新新消息~~~~~~~台灣地區中午地震最大震度花蓮市5級 有没有大连的公司要俺? 请教大家!!!java如何实现多重继承?接口该如何使用?份数可以再加,只要我明白了 怎样以编程的方法实现磁带机的Backup. 愿者请进,请各位留下自己的QQ或E-mail,以后大家可以多多交流!!! solaris unix8 的一个问题 asp是用什么软件的阿?我用了interdev,可是开始新建项目时就不行,叫你输入serve时,总是不对?应该输什么啊? 关于字符集 哪里有好的LAN管理软件??? 各位帮帮忙 可不可以告诉我在那里可以看到谷歌地球啊? 谢谢 到底月球上有没有外星人 用阴影在图中表示出5分之2公顷 有2公顷5个格子,怎么画? 谷歌地球飞行模拟器怎么用 月亮上有没有外星人呢? 图中的长方形面积表示2公顷,请用阴影部分表示出三分之二公顷 月球上发现5亿年前的飞船, 月球里真有外星人吗?据科学家发现好象有 在图中用阴影表示出5分之2公顷 在月球上已经坠毁1亿年的巨型飞船,各国争相登月就是为了研究它 有这回事吗? 月球上有外星人吗? 在图中用阴影表示出7/12公顷.急 美国宇航员在月球发现15亿年前的飞船是真还是假? 月球有外星人吗? 有一块3公顷的地,把它分成7份,用阴影表示出7分之9公顷,该画多少份, 在谷歌月球上那个月球飞船残骸的坐标是多少? 才下了谷歌地球,有月球火星的那海洋怎么没有呢?看到错误的标记点我如何提示出这个错误呢? 七分之三表示吧【 】平均分成【 】份,取这样的【 】份,它的分数单位是【 】,再加上【 】个这样的分数单位就是3. 在谷歌月球上那个月球飞船残骸的坐标是多少? 如何用鼠标操作谷歌地球的飞行模拟器? 7分之4乘3表示什么?,还可以表示为什么? 谷歌上的月球背面的外星飞船坐标是多少?首先强烈谴责这段视频的制造者,连个坐标都不给,它断子绝孙! 谷歌地球飞行模式进不去,进去总提示错误 3×7分之3表示(),3÷7分之3表示( ) 美国的阿波罗20号在月球上发现飞船和外星人,这个有可信度吗?是不是太荒唐了.我本人不相信这个事.从视频上看我认为也不应该是真的.但我希望他是真实的,大家都谈谈这个话题从目前人类 谷歌地球飞行模拟器刚飞起来就各种几千度的旋转,然后空中一上一下,时速从200-800不等,高度从3000-9000不等,来回转啊转,然后就坠毁了……这东西到底怎么用啊……求解 7.5+4分之3= 美宇航员称在月球发现巨大外星飞船残骸 谷歌地球飞行模拟器出错每次一打开飞行模拟器,就出现这样的对话框,仔细看一下文件路径(划红线的部分)文件夹下边的子文件夹用“/”分隔,划红线的路径为什么用“\”分隔?谷歌地球抽 a分之4+a分之5=7分之3,那么a是( ). 月球是外星飞船么? 谷歌地球飞行模拟器怎么用操纵杆我的上面没办法打勾,怎么补救 七分之三可以表示,还可以表示什么 阿波罗11号飞船的宇航员在月球上安装了一个什么? 35*(3/35-2/53)*53简便计算过程 x+7分之6=2+14分之1怎么解? 阿波罗11号之前还有什么宇宙飞船拍摄到过月球的表面吗? 将0.75,0.25,0.125,0.375,0.625,0.875化成最简分数 5分之7-X=14分之3 阿波罗11号真的上过月球吗?月球上的日夜温差很大的,白天几百慑氏度,夜里零下几百度!一般的金属在这种温差下都是要分解的!美国人的太空车的金属能熬住这么大温差?太空人的装备能熬住? 1+2+3+4.+99等于多少 x+7分之8=x-2分之2怎么解 美国的阿波罗20号飞船从月球带回外星人的尸体,是不是恶作剧或骗人的? 3分支4-(-7分之8)-2-(+3分支1)-7分支1 x:5分之7=8分之7解比例要求全过程. 谷歌地球上有关麦田怪圈或是UFO坠毁或者沉船的座标! 2002/1×3+2002/3×5+2002/5×7+2002/7×9+2002/9×11 简便计算 3.5:7分之8=x:5分之2(解比例只要答案) 我用谷歌地球的时候,在非洲好望角上有一个照片(球形的),里面发现了一个酷似UFO的东西, 1—2—3+4+5—6—7+8+9—10—11…+2001—2002—2003 求简便运算过程1—2—3+4+5—6—7+8+9—10—11…+2001—2002—2003 求简便运算过程 求快速. 急!0.75-2又4分之3-0.125+12又7分之5-48分之1+|6又7分之5-10|要过程~~~~ 这个是不是UFO啊!我用谷歌地球6.2看到的,是在美国,大家看下到底是神马? 2002/1×3+2002/3×5+2002/5×7+2002/7×9+2002/9×11简便计算 下面的分数请化成最简分数;75分之12、65分之15、130分之80、30分之25、55分之33、48分之32、75分之125还有63分之117 月球上有没有外星人 7分之四乘3分之2加7分之4 [2-(5.55×1又3分之1-2又10分之7)]÷0.9 月亮上有外星人吗? 4分之3乘( )=( )乘8分之7=( )+7分之4=( )-2分之1=1 观察:1+2+3+4+5+6+7+8+9+10=(1+10)*(10÷2 )=11*5=55计算:1992/1993+1991/1993+1990/1993+...+3/1993+2/1993+1/1993=?/:分数线 分子/分母
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn