不過C++/CLI畢竟有它的包袱,
使用上沒有那麼的方便,
不過這個功能實在太好用了!
所以花了一點時間把這個作法研究出來了! ^^
- 加入資源檔(.resx格式)
- 在資源檔內,可以加入『字串』、『現有檔案』…等檔案。
- 像是已經存在的圖檔,可以用『現有檔案』。
.NET環境會預設將檔案作為該資源檔案在專案內的『名稱』,但是也可以自行修改。
IDE內也會有預覽圖示,可以看到該圖檔的樣子。
- 『加入字串』,會有一個編輯器。
『名稱』就是資源檔在專案內用的名稱,後面的『值』就是字串的內容。
- 在程式內要呼叫這些資源時,在CLI需要借助ResourceManager來叫用。
因此需要加入下述兩個namespace:
- ResourceManager類別:在System::Resources裡
- Assembky類別:在System::Reflection裡
using namespace System::Resources; using namespace System::Reflection;
- 叫用方法如下,應該很容易看得懂。
範例是在Form呼叫的時候,顯示圖檔"2010Kosemai.jpg",
並且將Form的title改成t1這個資源的值。
private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e) { ResourceManager^ rm = gcnew ResourceManager("Test.myTest", Assembly::GetExecutingAssembly() ); this->Text = rm->GetString("t1"); Object^ obj = rm->GetObject("2010kosemai"); this->pictureBox1->Image = dynamic_cast
(obj); }
利用這個方式加入的『現有檔案』,
在編譯後可以刪除,攜帶執行檔案的時候,也不需要附加這個『現有檔案』。
但是需留意,在重新編譯時,這個『現有檔案』仍然會需要,
因此在刪除檔案的時候,需要留意!
範例程式:
沒有留言:
張貼留言