環境:XE7 Firemonkey
我給Button做了一個Style,然后想在程式中動態給Style中的屬性賦值
這樣:
btnImage->StylesData["imagestyle"] = TValue::From<String>("Wnd_Close.png");
btnImage->StylesData["backgroundrectanglestyle.Opacity"] = TValue::From<float>(0.6);
btnImage->StylesData["backgroundanicolor.StopValue"] = TValue::From<TAlphaColor>(claRed);
但是如果TBitmap的話下面這樣就不對了,應該是TValue::From不能使用指標的問題
Button2->StylesData["circlestyle.Fill.Bitmap.Bitmap"] = TValue::From<TBitmap*>(ImageControl1.Bitmap);
但是在Delphi中就是可以的
Button2.StylesData['circlestyle.Fill.Bitmap.Bitmap'] := TValue.From<TBitmap>(ImageControl1.Bitmap);
這個應該如何處理呢?
uj5u.com熱心網友回復:
沒這樣用過啊uj5u.com熱心網友回復:
我試了下這樣
int* iSrc = new int();
*iSrc = 10;
TValue val = TValue::From<int*>(iSrc);//A
/////////////////////////////////////////////////////////////////
int* iDst = new int();
val.ExtractRawData(iDst);//報錯Invalid class typecast
但是如果上面A換做下面這樣就沒問題了
TValue val = TValue::From<int>(*iSrc);
我看了下Delphi下面TValue的代碼,可惜對Delphi不熟悉,只能猜想是指標問題
本想是不是可以
Button2->StylesData["circlestyle.Fill.Bitmap.Bitmap"] = TValue::From<TBitmap>(ImageControl1->Bitmap);
結果編譯器又提示:
[bcc32 Error] MainFormUnit.cpp(28): E2459 Delphi style classes must be constructed using operator new
我就完全不知道該咋個整了
uj5u.com熱心網友回復:
就沒人遇到這個類似的問題么
uj5u.com熱心網友回復:
呼叫妖哥啊 ~!!!!轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/83380.html
標籤:基礎類
上一篇:關于QT中的Qprocess::execute的問題
下一篇:求解 NKOJ3639
