User-Defined 資源
使用者定義的資源定義語句會定義包含應用程式特定數據的資源。 數據可以具有任何格式,而且可以定義為指定檔案的內容(如果指定 檔名 參數),或指定為一系列數位和字串(如果指定原始數據 區塊)。
nameID typeID filename
檔名 指定包含資源二進位數據的檔名。 檔案的內容會包含為資源。 RC 不會以任何方式解譯二進位數據。 程式設計人員有責任確保數據與目標計算機架構正確對齊。
您也可以使用下列語法,在資源文稿中完整定義使用者定義的資源:
nameID typeID { raw-data }
參數
-
nameID
-
唯一名稱或識別資源的16位無符號整數。
-
typeID
-
可識別資源類型的唯一名稱或16位無符號整數。 如果指定數位,它必須大於 255。 數位 1 到 255 會保留給現有和未來重新定義的資源類型。
-
檔名
-
包含資源數據的檔名。 參數必須是有效的檔名;如果檔案不在目前的工作目錄中,它必須是完整路徑。
-
原始數據
-
包含一或多個整數或字元字串的原始數據。 整數可以用十進位、八進位或十六進位格式指定。 為了與16位 Windows 相容,整數會儲存為WORD值。 您可以將整數儲存為 DWORD 值,方法是將整數限定為 「L」 後綴。
字串會以引號括住。 RC 不會自動將終止的 Null 字元附加至字串。 每個字串都是指定 ANSI 字元的序列,除非您將它限定為具有 「L」 前置詞的寬字元字串。
數據區塊會從 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
}