2016-08-19 3 views
2

Ich habe gestern ein Problem mit "Vista Dialoge" in "Delphi 10 Seattle" gerannt. Es scheint nicht gut mit einigen VCL Styles zu funktionieren. Dieser Fehler trat bei Verwendung von "Windows 10 Dark" als Standardstil in meiner App auf. So war mein sofortiger Gedanke, dass Vista Dialoge nicht mit benutzerdefinierten VCL-Stilen funktioniert, aber wenn "Windows" als Standardstil und Windows 10 als Betriebssystem verwendet wird, funktioniert der Dialog gut.Delphi 10 Seattle - Vista Dialoge Bug mit VCL Styles

Ich habe zwei Bilder hochgeladen, eines mit dem angewandten Stil, der den visuellen Fehler zeigt, und eins ohne es, funktioniert gut.

Ohne "Windows 10 Dark" VCL Stil

angewendet

enter image description here

Mit "Windows 10 Dark" VCL Stil

angewendet

enter image description here

Ich habe darüber recherchiert, ist dieser Fehler in anderen Posts erwähnt, aber dieser Fehler ist nicht, was diese Beiträge über ... Jeder versteht, warum dies geschieht? und wie kann ich es reparieren?

+2

Keine solche Sache wie XE10. Sie müssen wahrscheinlich Rodrigos verschiedene Utils verwenden. –

+0

@DavidHeffernan Also denken Sie, das ist ein Komponentenfehler? Ich habe versucht, keine "Vanille" -Komponenten zu verwenden ... –

+1

VCL-Stile sind der Inbegriff von Nicht-Vanille-Komponenten. Verwenden Sie sie und Sie gehen ein großes Risiko ein. Immens hacky und buggy. Nur mit Rodrigos Utensilien möglich. Er schrieb sowieso viel von dem Emba-Code. Scheuen Sie sich nicht vor seinem Code. –

Antwort

2

Die VCL Styles Version enthalten nur in RAD Studio können die klassischen Dialoge -art, wenn Sie die volle Unterstützung für die neuen Dialoge wollen, müssen Sie das VCL Styles Utils Projekt verwenden.

Installieren Sie einfach die Bibliothek und fügen Sie diese Einheiten zu Ihrem Projekt hinzu.

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

Verwandte Themen