在VS2008里的一个项目,我写了一个类,对应的是一个弹窗,但我需要将弹窗显示在右下角,我在另一个文件中写了调用语句,
int width = GetSystemMetrics ( SM_CXSCREEN );
int height= GetSystemMetrics ( SM_CYSCREEN ); CRect r1 = CRect(width-400,height-400,width,height); cNetTan.DoModal(NULL, r1) ;
可是当我显示出对话框之后,对话框上的edit控件却显示不出来了,如果我直接domodel()显示窗口的话,窗口显示在屏幕中央,而且可以显示出edit控件,我想问下这到底是怎么回事啊?这个是用WTL做的,不是用MFC做的~
求指教~~~~~已经困扰了几天了
int width = GetSystemMetrics ( SM_CXSCREEN );
int height= GetSystemMetrics ( SM_CYSCREEN ); CRect r1 = CRect(width-400,height-400,width,height); cNetTan.DoModal(NULL, r1) ;
可是当我显示出对话框之后,对话框上的edit控件却显示不出来了,如果我直接domodel()显示窗口的话,窗口显示在屏幕中央,而且可以显示出edit控件,我想问下这到底是怎么回事啊?这个是用WTL做的,不是用MFC做的~
求指教~~~~~已经困扰了几天了
HWND hWndParent = ::GetActiveWindow( ),
LPARAM dwInitParam = NULL
);
第一个参数默认不是0,你直接给了个NULL。第二个参数也不是用来确定矩形位置的,至于你后来又用这个CRect对象干了什么,我就不知道了。但这个WM_INITDIALOG消息是所有的控件都初始化完毕后才发送的。所以你用的可能不对。话说楼主的头像太可爱了,我保存了
纠正一下,不是初始化完,是创建完。
如果俩参数全写0没有问题的话,那就是CRect的问题了。“我用movewindow和setwindowpos这两个函数都不起作用啊,或者我用的地方不对了?”——函数本身又没有问题,所以这个肯定是用的地方不对了