2012-04-16 9 views
1

私は現在Alpha liteデモを使用して、私のデルファイ7アプリケーションにさまざまな外観を与えています。 Lookを失うことなくDelphiアプリケーションを移植できるように、スキンファイル(.asz拡張子)を含める方法について疑問があります。私はそれを.RESファイルに含める必要があることを認識しています。どうやってするか ?
私は、リソースをロードするために小さな関数を作っていますデルファイ7のリソースファイルでスキンファイル(.asz)ファイルを使用する方法

Function LoadResourceFromFile() : Boolean; 
Var 
    hFind , hRes : THandle; 
Begin 
    hFind := FindResource(HInstance,'SkinsVista',RT_RCDATA); 
    If hFind <> 0 Then 
    Begin 
    hRes := LoadResource(HInstance,hFind); 
    If hRes <> 0 Then 
    Begin 
     // what to do now ? 
    End; 
    End; 
End; 

誰かが私を導くことはできますか?

答えて

8

次のコードを使用してください。

procedure TForm1.Button1Click(Sender: TObject); 
var 
    ResStream: TResourceStream; 
const 
    SkinName = 'MySkin'; 
begin 
    ResStream := TResourceStream.Create(HInstance, 'SkinsVista', RT_RCDATA); 
    try 
    sSkinManager1.InternalSkins.Add; 
    sSkinManager1.InternalSkins[sSkinManager1.InternalSkins.Count - 1].Name := SkinName; 
    sSkinManager1.InternalSkins[sSkinManager1.InternalSkins.Count - 1].PackedData.LoadFromStream(ResStream); 
    sSkinManager1.SkinName := SkinName; 
    sSkinManager1.Active := True; 
    finally 
    ResStream.Free; 
    end; 
end; 
+0

この確認の作品は、あなたが少し説明をしてください追加することができます:それは私によってテストされていないが、私はそれがそうする正しい方法でなければなりません願っていますので、ベンダーのサポートからthis postに基づいてですか? – CyprUS

+6

私は 'AlphaControls'と同じ無料版を持っていますが、ソースコードもドキュメンテーションもありません。この回答はベンダーの['this post'](http://www.alphaskins.com/forum/index.php?showtopic=3122)に基づいています。私がここで追加したのは、リソースからストリームへの読み込みだけです。私はこれ以上のことを詳しく述べることはできません:-(あなたがベンダーに質問しようとすることはできますが、無料のユーザーだけですが、多分はいです。 – TLama

関連する問題