返回介绍

初始化控件

发布于 2023-08-09 23:10:33 字数 1699 浏览 0 评论 0 收藏 0

在 stdafx.h 中加入包含CAD控件头文件代码。

#include "..\..\..\MxInc\MxDraw.h"

在 CViewApp::InitInstance() 中加入对初始化控件函数的调用。

BOOL CHelloMxDrawApp::InitInstance()
{
	INITCOMMONCONTROLSEX InitCtrls;
	InitCtrls.dwSize = sizeof(InitCtrls);
	InitCtrls.dwICC = ICC_WIN95_CLASSES;
	InitCommonControlsEx(&InitCtrls);

	CWinApp::InitInstance();

	AfxEnableControlContainer();

	CShellManager *pShellManager = new CShellManager;

	CMFCVisualManager::SetDefaultManager(RUNTIME_CLASS(CMFCVisualManagerWindows));

	SetRegistryKey(_T("应用程序向导生成的本地应用程序"));
	//////////////////////////////////////////////////////////////////////////
	MxDraw::InitMxDraw();//注册控件
	//////////////////////////////////////////////////////////////////////////
	CHelloMxDrawByCPPDlg dlg;
	m_pMainWnd = &dlg;
	INT_PTR nResponse = dlg.DoModal();
	if (nResponse == IDOK)
	{
	}
	else if (nResponse == IDCANCEL)
	{
	}
	else if (nResponse == -1)
	{
		TRACE(traceAppMsg, 0, "警告: 对话框创建失败,应用程序将意外终止。\n");
		TRACE(traceAppMsg, 0, "警告: 如果您在对话框上使用 MFC 控件,则无法 #define _AFX_NO_MFC_CONTROLS_IN_DIALOGS。\n");
	}

	if (pShellManager != NULL)
	{
		delete pShellManager;
	}

#if !defined(_AFXDLL) && !defined(_AFX_NO_MFC_CONTROLS_IN_DIALOGS)
	ControlBarCleanUp();
#endif
	//////////////////////////////////////////////////////////////////////////
	MxDraw::UnInitMxDraw();//释放控件
	//////////////////////////////////////////////////////////////////////////
	return FALSE;
}

在 HelloMxDrawDlg.h 中生成的Dialog类中添加控件窗口句柄的成员变量。

MxDraw::MXDRAWOCXHANDLE m_hDrawOcx;

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文