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。如何保存上次关闭的对话框位置目前未知,希望高手指教。

其他回答(0)

相关知识

相关文章更多