vcl-styles

Painting issue of panels with Styles when using DoubleBuffered=true

醉酒当歌 提交于 2021-02-10 07:11:52
问题 This may be an embarcadero VCL problem, but using the latest Delphi (10.4.1) I came across the following problem. I am use to set DoubleBuffering to true in the FormCreate, but noted that this creates a painting issue of the panels when: the panel is located inside of a groupbox a Radiobutton is added to the panel in below image it can be seen that once DoubleBuffering is set to true, the painting of the panels get 'messed-up'. From left to right, Windows, Cyan Dusk and Cyan Dusk with

Painting issue of panels with Styles when using DoubleBuffered=true

隐身守侯 提交于 2021-02-10 07:05:44
问题 This may be an embarcadero VCL problem, but using the latest Delphi (10.4.1) I came across the following problem. I am use to set DoubleBuffering to true in the FormCreate, but noted that this creates a painting issue of the panels when: the panel is located inside of a groupbox a Radiobutton is added to the panel in below image it can be seen that once DoubleBuffering is set to true, the painting of the panels get 'messed-up'. From left to right, Windows, Cyan Dusk and Cyan Dusk with

How detect when a vcl style is changed?

限于喜欢 提交于 2020-03-16 05:57:14
问题 I use several WinAPi functions which needs the Handle of the form in order to work, due which the handle of the form is recreated when the vcl styles is changed many of the calls to these functions stop working. So I need a way to detect when the current vcl style is modified (changed) in order to update the calls to these functions.The question is How detect when a vcl style is changed? 回答1: When a vcl style is changed via the TStyleManager.SetStyle method a CM_CUSTOMSTYLECHANGED message is

How detect when a vcl style is changed?

China☆狼群 提交于 2020-03-16 05:57:11
问题 I use several WinAPi functions which needs the Handle of the form in order to work, due which the handle of the form is recreated when the vcl styles is changed many of the calls to these functions stop working. So I need a way to detect when the current vcl style is modified (changed) in order to update the calls to these functions.The question is How detect when a vcl style is changed? 回答1: When a vcl style is changed via the TStyleManager.SetStyle method a CM_CUSTOMSTYLECHANGED message is

TMainMenu is not shown when the vcl styles is removed from the NC Area

你。 提交于 2020-01-02 06:33:52
问题 I'm using this code to remove the vcl styles from the non client area of a form. type TFormStyleHookNC= class(TMouseTrackControlStyleHook) protected procedure PaintBackground(Canvas: TCanvas); override; constructor Create(AControl: TWinControl); override; end; constructor TFormStyleHookNC.Create(AControl: TWinControl); begin inherited; OverrideEraseBkgnd := True; end; procedure TFormStyleHookNC.PaintBackground(Canvas: TCanvas); var Details: TThemedElementDetails; R: TRect; begin if

Delphi XE2 styles painting

£可爱£侵袭症+ 提交于 2020-01-01 14:38:08
问题 I am having trouble with incorrectly painted corners when drawing VCL-styled window elements. On styles that have rounded corners, I get a white background in the space between the control's bounding rect and the style's rounded window corner. The above image was run using Aqua Light Slate, but any style with rounded corners will show this same problem. What am I missing? type TSample = class(TCustomControl) protected procedure Paint; override; end; { TForm1 } procedure TForm1.FormCreate

VCL-Styles embedded in dll?

偶尔善良 提交于 2019-12-30 09:35:27
问题 How do I embed Delphi XE2 VCL-Styles in a dll? The Application - Appearance page is not visible in project settings for DLL-projects. I tried defining them in a rc-file included with a $R directive which works but if there is a better way I'd like to know. RC-file example: GOLDENGRAPHITE VCLSTYLE "C:\Program Files (x86)\Embarcadero\RAD Studio\9.0\Redist\styles\vcl\GoldenGraphite.vsf" CARBON VCLSTYLE "C:\Program Files (x86)\Embarcadero\RAD Studio\9.0\Redist\styles\vcl\Carbon.vsf" In particular

VCL-Styles embedded in dll?

北战南征 提交于 2019-12-30 09:35:20
问题 How do I embed Delphi XE2 VCL-Styles in a dll? The Application - Appearance page is not visible in project settings for DLL-projects. I tried defining them in a rc-file included with a $R directive which works but if there is a better way I'd like to know. RC-file example: GOLDENGRAPHITE VCLSTYLE "C:\Program Files (x86)\Embarcadero\RAD Studio\9.0\Redist\styles\vcl\GoldenGraphite.vsf" CARBON VCLSTYLE "C:\Program Files (x86)\Embarcadero\RAD Studio\9.0\Redist\styles\vcl\Carbon.vsf" In particular

Using VCL Styles in a DLL causes System Exception in 10.2 Tokyo

你离开我真会死。 提交于 2019-12-24 19:06:56
问题 An application originally written in XE2 that uses styles within DLL's so that forms that popup from DLL's are the same style as the EXE, when updated to build in 10.2 Tokyo, now causes System Exceptions when opening certain forms from the EXE, or when closing certain forms in the EXE. 回答1: I don't need to include the minimal reproducible example in this question, because I have an answer, that someone else may have been able to add to my original question had it not been closed so quickly,

How to apply VCL Styles to DLL-based forms in Inno Setup?

前提是你 提交于 2019-12-24 00:49:30
问题 I'm using Inno Setup (Unicode) with a set of DLL's that I'm writing in Delphi XE2. The DLL's have VCL forms which are shown during the installation wizard/progress. I've tried out implementing VCL Styles in my Inno Setup installer. All is well, except for the forms which are created within these DLL's. Some of the form is skinned, but not all of it... As you can see, the form's background color, the list view background color, and the font color have changed. However, the list view headers,