huigezrx |分类标签:CAA, CATIA 2015-01-21
CAA对话框如何在CATIA窗口居中显示
CAA对话框默认大小无法满足要求,需要更改大小,但是更改大小的时候会同时改变窗体位置,如何实现将窗体位置放置在上次关闭的位置呢,或者将CAA对话框放置到CATIA窗体居中显示。
满意答案
huigezrx 19级 2015-01-21 19:25:14
在对话框的WindSizeNotification消息响应函数中添加如下代码可以使CAA对话框在CATIA窗口中居中显示:
if(!_isInited){ //设置窗口大小并居中显示 CATDlgWindow* pFrmWindow = NULL; pFrmWindow = (CATApplicationFrame::GetApplicationFrame())->GetApplicationDocument(); DRECT rect; pFrmWindow->GetRectDimensions(&rect); cout<<"Rect:["<<rect.x<<","<<rect.y<<","<<rect.dx<<","<<rect.dy<<"]"<<endl; int width = 700; int height = 470; this->SetRectDimensions((rect.dx-width)/2,(rect.dy-height)/2,height,width); _isInited = true; }
其中,_isInited是对话框类的成员变量,类型为CATBoolean,初始化值为FALSE。如何保存上次关闭的对话框位置目前未知,希望高手指教。