2016-08-19 29 views
2

昨天我遇到了「德爾福10西雅圖」中的「Vista對話框」問題。它似乎不適用於某些VCL樣式。 在我的應用程序中使用「Windows 10 Dark」作爲默認樣式時發生此錯誤。 所以我的直接想法是,Vista的對話框不適用於自定義VCL樣式,但是當使用「Windows」作爲默認樣式並使用Windows 10作爲操作系統時,對話框可以正常工作。德爾福10西雅圖 - Vista VCL風格的對話框錯誤

我已經上傳了兩張圖片,其中一張顯示了視覺bug,另一張沒有顯示,工作得很好。

沒有的 「Windows 10黑暗」 VCL風格應用

enter image description here

隨着 「視窗10黑暗」 VCL風格應用

enter image description here

我研究過這個,這個錯誤在其他帖子中提到,但這個錯誤不是這些帖子是關於... 任何人都明白爲什麼會發生這種情況?我該如何解決它?

+2

沒有這樣的東西作爲XE10。你可能需要使用Rodrigos的各種utils。 –

+0

@DavidHeffernan所以你認爲這是一個組件錯誤?我試圖不使用任何非「香草」成分... –

+1

VCL風格是非香草成分的縮影。使用它們,你承擔很大的風險。非常黑客和馬車。只有羅德里戈的實用程序纔可行。無論如何,他寫了很多emba代碼。不要害怕他的代碼。 –

回答

2

RAD Studio中包含的VCL Styles版本僅可以設置經典對話框的樣式。如果要全面支持新對話框,則必須使用VCL Styles Utils項目。

只需安裝庫並將這些單元添加到您的項目。

uses 
    Vcl.Styles.Utils.Menus, //Popup and Shell Menus (class #32768) 
    Vcl.Styles.Utils.Forms, //dialogs box (class #32770) 
    Vcl.Styles.Utils.StdCtrls, //buttons, static, and so on 
    Vcl.Styles.Utils.ComCtrls, //SysTreeView32, SysListView32 
    Vcl.Styles.Utils.ScreenTips, //tooltips_class32 class 
    Vcl.Styles.Utils.SysControls, 
    Vcl.Styles.Utils.SysStyleHook; 

enter image description here