如果我想將一個項目中的Dialog復制到另一個項目中,要怎么做?


我的意思是,如果不是對話框文件,只要將.H 文件和 .CPP 文件復制到相應目錄,並將其添加進項目即可。但如果是一個對話框類呢?還有資源文件等等

我將資源文件添加進去后,總是報有些字符串未定義等等許多錯誤,我現在想,在復制對話框類的時候,有哪些事情需要做,才沒有錯誤出現,使他像在源項目中一樣作用

19 个解决方案

#1


你在新項目中打開以前的.rc文件把對話框copy再paste到你的資源列表中。

#2


有兩種方法可以實現:
  
  1)你可以直接拷貝resource,用VC++以文本的方式或者直接用文本編輯器打開.rc文件,將有關的片段從
一個工程拷貝到另一個工程.你可以通過查找如下字樣的片段(此片段用來定義對話框資源)來拷貝你要
的部分:
  
  IDD_MYDIALOG_ID DIALOG DISCARDABLE 0, 0, 235, 55
  
  這里的IDD_MYDIALOG_ID是你的對話框的ID,將到此片段結尾的部分全拷下來,通常你還要給新的工程
加一個ID(通過DevStudio的工具或者直接修改resource.h文件).

  2)可以通過DevStudio的copy/paste功能.首先,在編輯器以"auto"模式打開.rc文件,這時resource
正確的顯示出來.然后,選中要拷貝的對話框的ID,在Edit菜單里選Copy或者按住Ctrl+C.然后打開目標
resource文件,在Edit菜單里選Paste或者按住Ctrl+V. 

#3


在一個工作區內對兩個工程進行這樣操作不會出現這樣的問題吧!
只是需要修改一下原來.h和.cpp引用的頭文件,
你可以這樣做嘛,先做一個新的對話框,把它的OBJECTID改成和另一個工程里要拷貝的對話框相同的OBJECTID,然后Ctrl+C烤過來覆蓋它!這樣不會有什么資源ID沖突和沒定義的錯誤了

#4


有兩種方法可以實現:
  
  1)你可以直接拷貝resource,用VC++以文本的方式或者直接用文本編輯器打開.rc文件,將有關的片段從
一個工程拷貝到另一個工程.你可以通過查找如下字樣的片段(此片段用來定義對話框資源)來拷貝你要
的部分:
  
  IDD_MYDIALOG_ID DIALOG DISCARDABLE 0, 0, 235, 55
  
  這里的IDD_MYDIALOG_ID是你的對話框的ID,將到此片段結尾的部分全拷下來,通常你還要給新的工程
加一個ID(通過DevStudio的工具或者直接修改resource.h文件).

  2)可以通過DevStudio的copy/paste功能.首先,在編輯器以"auto"模式打開.rc文件,這時resource
正確的顯示出來.然后,選中要拷貝的對話框的ID,在Edit菜單里選Copy或者按住Ctrl+C.然后打開目標
resource文件,在Edit菜單里選Paste或者按住Ctrl+V. 

#5


同意

#6


先把兩個工程insert在一起,然后直接拷貝Dialog資源,生成一個新的對話框類,最后依次替換即可。

#7


kingzai() :能不能說得詳細一點!

#8



一般拷貝Dialog的話,也想連相關類也想拷貝,可以對跟對話框相關聯的類上:右鍵 >>> Add to galary 

在要引入的工程中:Project >> Add to Project >> Components .. >>
找到剛才Add to galary的東西,Insert

然后,資源+類都搞定了,這樣,VC會幫你修改一些需要修改的地方

如果只拷貝資源的話,編輯資源文件,用文本方式Ctrl + C V
另外有一種方式,那就是對對話框直接選中,Ctrl + C
然后在同一窗口中關閉此工程,打開欲插入的工程,在資源視圖中Ctrl + V,就ok了
但上述兩種方式都可能出現資源ID號重復的情況,,現在我一般都Add >> Insert,建議大家都使用這種方式

#9


就是先將另外一個工程insert到第一個工程,然后將對話框資源直接copy到第一個,然后點擊新產生的對話框產生新的對話框類。最后再拷貝代碼到新產生的類...

#10


還有沒有更方便的方法或者訣竅?

#11


最簡單的方法是:
在工作區中選中該對話框的類名,點擊右鍵,選中Add to Gallery.
然后在需要該對話框的工程中,選擇Project->Add to project->Components and controls..,你將會看到剛才插入的類,選中它,插入就可以了。

是不是很爽阿??!!!哈哈哈

#12


如果只是想拷貝對話框資源的話,在繼承開發環境中以二進制方式打開想要復制的對話框資源,然后全部復制。

切換到要復制到的地方,新建一個對話框,同樣以二進制方式打開。粘貼即可

#13


那還要看你的對話框是怎么樣的,根據具體的情況照上邊的仁兄說的做就可以了。只是對話框是一個單獨的文件的話你就可以直接插入了

#14


最簡單辦法:打開原來的.rc,再把他拖到你現在工程的.rc中去!

#15


在類視圖中點擊對話框類名的右鍵,執行Add to Gallery,然后在需要該對話框的工程中,選擇Project->Add to project->Components and controls..,最后選擇剛才那個對話框類所在的工程名字,打開后選選擇你的對話框類,插入就可以了。

#16


我一般用 的NothingRemained(NothingRemained)
他說的第二個方法..不穩定所以一般用第一個.
兩種方法都要注意有相同ID..相同的需要該名字

#17


我看wuxuan 的方法好
什么Add to Gallery, 你的系統是rubbish bin嗎?Keep it clean

#18


還有沒有人有好的方法?說出來大家共享一下

#19


有兩種方法可以實現:
  
  1)你可以直接拷貝resource,用VC++以文本的方式或者直接用文本編輯器打開.rc文件,將有關的片段從
一個工程拷貝到另一個工程.你可以通過查找如下字樣的片段(此片段用來定義對話框資源)來拷貝你要
的部分:
  
  IDD_MYDIALOG_ID DIALOG DISCARDABLE 0, 0, 235, 55
  
  這里的IDD_MYDIALOG_ID是你的對話框的ID,將到此片段結尾的部分全拷下來,通常你還要給新的工程
加一個ID(通過DevStudio的工具或者直接修改resource.h文件).

  2)可以通過DevStudio的copy/paste功能.首先,在編輯器以"auto"模式打開.rc文件,這時resource
正確的顯示出來.然后,選中要拷貝的對話框的ID,在Edit菜單里選Copy或者按住Ctrl+C.然后打開目標
resource文件,在Edit菜單里選Paste或者按住Ctrl+V. 


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
  © 2014-2022 ITdaan.com 联系我们: