2016-01-05 53 views
-1

我有一個資源腳本(* .rc)需要使用commctrl.h/CommCtrl.pas中的WIZ_CXDLG。最初的版本通過#include做到這一點:在rc腳本中使用CommCtrl.pas或commctrl.h

#include <windows.h> 
#include <commctrl.h> 

1 DIALOGEX 0, 0, WIZ_CXDLG, WIZ_CYDLG 
//... 

然而,這並不德爾福XE6項目編制,也沒有用Borland的,也不是MS資源編譯器,因爲commctrl.h是找不到的。

解決此問題的正確方法是什麼?我可能會下載Windows SDK,但這似乎過度殺傷。

編輯: FWIW - #include -ing CommCtrl.pas不起作用。在XE6中,brcc32顯然在WinApi.前綴上扼流圈。在D2007中,brcc32在接口使用條款處停止。然而,我們已經成功地使用了更簡單的Pascal文件,如

unit MyProject_rc; 

interface 

///////////////////////////////////////////////////////////////////////////// 
// 
// Cursor 
// 

const 
    IDC_CURSOR_FOO = 1; 
//[SNIP] 

implementation 

end. 
+0

「* commctrl.h未找到*」 - 聽起來像您的搜索路徑配置不正確。 –

+0

@Remy除非安裝了Windows SDK,否則該標題將不存在。對於一個非常常見的Delphi安裝。 –

回答

1

我會編譯這個Microsoft資源編譯器,針對Windows SDK。這將意味着安裝Windows SDK。你認爲這太過分了,但我個人認爲這對於Windows開發人員來說是非常重要和有用的資源。

如果您確實不想安裝SDK,請修改資源文件以包含必要的定義。

#define WIZ_CXDLG 276 
#define WIZ_CYDLG 140 
// etc.