2015-09-10 101 views
1

我想將Delphi XE8中的一些代碼移植到Delphi 10 Seattle。如何在Delphi 10 Seattle中設置默認系統風格?

此代碼設置我的程序的默認系統風格,但在Delphi 10 Seattle中不存在SetSystemStyle方法。

TStyleManager.SetSystemStyle(Self); 
+0

對不起,我一直在尋找在錯誤的地方。該方法已被刪除。我不知道如何調整你的代碼。它將像'TStyleManager.SetStyle(xxx.GetSystemStyle(yyy))'一樣,但我不知道從哪裏得到'xxx'和'yyy'。在源代碼中查找使用'IStyleBehavior'。像往常一樣沒有文件。 Embarcadero將在幾年的時間內做到這一點。 –

+0

從[此源代碼](https://forums.embarcadero.com/thread.jspa?threadID=117396&tstart=1) - 「_check the box title ** Enable Runtime Themes ** in the ** Manifest File ** panel of **項目選項**。「 –

+0

@亞歷山大否,這是Windows VCL應用程序 –

回答

1

我添加了Default_Style_Block_Pointer:TMemoryStream;到MainForm的VAR:塊

我把這個代碼在MainForm.OnCreate事件:

Default_Style_Block_Pointer:=TMemoryStream.Create; 
    TStyleStreaming.SaveToStream(TStyleManager.ActiveStyle(Self),Default_Style_Block_Pointer,TStyleFormat.Binary); 

我使用這個代碼來恢復默認樣式:

 Default_Style_Block_Pointer.Position:=0; 
     TStyleManager.SetStyle(TStyleStreaming.LoadFromStream(Default_Style_Block_Pointer));