3dsmax 二次開發里面加入對話框時提示:WINDOWS.H already included. MFC apps must not #include


問題描述:我用3ds max sdk新建了一個應用程序Maxprocject1;它的類型為Procedural Object。

接下來我想利用MFC里面的對話框,多以就添加了一個Dialog。但是在需要掉這個Dialog的源文件Maxproject1.cpp(工程生成時默認生成的源文件)中添加這個Dialog.h的時候就提示:WINDOWS.H already included.  MFC apps must not #include <windows.h>

 

解決辦法:

1、將Dialog.cpp中的 #include "stdafx.h"移到dialog.h中去;

#pragma once
#include "stdafx.h"
#include "resource.h"

 

2、dialog.h中可能需要添加 #include “resource.h”

3、在Maxproject1.h(我建了一個工程名為Maxproject1,所以程序向導就生成了這個頭文件)中添加頭文件 #include “stdafx.h”

     未修改:

#include "3dsmaxsdk_preinclude.h"
#include "Max.h"
#include "resource.h"
#include "istdplug.h"
#include "iparamb2.h"
#include "iparamm2.h"
#include "Simpobj.h"

     修改后:

#include "stdafx.h"//自己添加的,解決頭文件沖突問題
#include "3dsmaxsdk_preinclude.h"
#include "Max.h"
#include "resource.h"
#include "istdplug.h"
#include "iparamb2.h"
#include "iparamm2.h"
#include "Simpobj.h"

 

經過如此修改后就可以編譯了;

小提示:在添加第二個對話框時就不必如此麻煩的操作了,只需要將Dialog2.h放在之前的 Dialog.h后面即可:

#include "MeasurementDlg.h"
#include "TestDlg.h"//將它放在 MeasurementDlg.h的后面;不然編譯又會出錯
#include "MaxGrammetry.h"

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM