永发信息网

在MFC中的OnInitDialog中写下如下语句:this->MoveWindow(0,0,400,300)为什么不能的移动到屏幕左上角?

答案:2  悬赏:0  手机版
解决时间 2021-02-01 06:26
  • 提问者网友:锁深秋
  • 2021-01-31 10:08
但是改成this->MoveWindow(1,0,400,300)或this->MoveWindow(0,1,400,300)就可以了,为什么?

来大神解答,急急!!
最佳答案
  • 五星知识达人网友:山君与见山
  • 2021-01-31 11:19
这个问题之前有人问过。
初始化的时候,窗口移动到0,0点会失败,但初始化完成后,在其它消息中移动就不会失败。
这个问题不仅是MFC窗口,其它的标准窗口程序也一样,应该是windows系统的问题,和程序无关,跟踪程序,是mfc在最终调用API函数的时候失败的,具体原因不明,因为这个底层函数无法跟踪内部。
全部回答
  • 1楼网友:春色三分
  • 2021-01-31 12:33
你这几个产生效果的最终都是调用的都是对话框类的movewindow,替换成以下语句效果一样: movewindow(0,1,400,300);0,0点的问题,在正常情况下都不会发生,除非你有多屏设置或者其它影响屏幕坐标的特殊设置,这个应该不是程序问题。 加作用于::符号,本身就是有问题的,系统会容错纠正为上述语句使用。调用 ::movewindow 是表明要使用api函数,api函数一共6个参数,第一个,是要移动的窗口句柄,而你的调用,显然不符合要求。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯