共用方式為


User-Defined資源

使用者定義的資源定義語句會定義包含應用程式特定資料的資源。 如果指定 了檔案名 參數) ,或是指定原始資料區塊,則資料可以具有任何格式,而且可以在指定 原始資料 區塊時 (定義為 (指定檔案的內容) (。

nameID typeID filename

檔案名會指定包含資源二進位資料的檔案名。 檔案的內容會包含在資源中。 RC 不會以任何方式解譯二進位資料。 程式設計人員必須負責確保資料正確對齊目的電腦架構。

您也可以使用下列語法,在資源腳本中完全定義使用者定義的資源:

nameID typeID  {  raw-data  }

參數

nameID

唯一名稱或識別資源的 16 位不帶正負號的整數。

typeID

唯一名稱或識別資源類型的 16 位不帶正負號的整數。 如果指定數位,它必須大於 255。 數位 1 到 255 會保留給現有和未來重新定義的資源類型。

檔案名

包含資源資料的檔案名。 參數必須是有效的檔案名;如果檔案不在目前的工作目錄中,它必須是完整路徑。

raw-data

原始資料是由一或多個整數或字元字串所組成。 整數可以十進位、八進位或十六進位格式指定。 為了與 16 位 Windows 相容,整數會儲存為 WORD 值。 您可以將整數儲存為 DWORD 值,方法是使用 「L」 尾碼限定整數。

字串會以引號括住。 RC 不會自動將終止 Null 字元附加至字串。 除非您將它限定為具有 「L」 前置詞的寬字元字串,否則每個字串都是指定 ANSI 字元的序列。

資料區塊會從 DWORD 界限開始,RC 不會在 原始資料 區塊內執行資料填補或對齊。 程式設計人員必須負責確保區塊內資料正確對齊。

範例

下列範例顯示數個使用者定義的語句:

array   MYRES   data.res
14      300     custom.res
18 MYRES2
{
   "Here is an ANSI string\0",    // explicitly null-terminated 
   L"Here is a Unicode string\0", // explicitly null-terminated 
   1024,                          // integer, stored as WORD 
   7L,                            // integer, stored as DWORD 
   0x029a,                        // hex integer 
   0o733,                         // octal integer 
}