- This topic has 6 replies, 2 voices, and was last updated 7 years, 5 months ago by HeDiBo.
-
AuthorPosts
-
May 23, 2017 at 5:41 pm #37487HeDiBoParticipant
Using DevExpress Print System, the print dialog doesn't look right at all:
[attachment=8308:PrintDialog.jpg]
SkinManager.Options.ChangeSysColors is set to False.
May 24, 2017 at 10:17 am #56694HeDiBoParticipantIf I reset SkinManager.SkinningRules to empty ([]) I get standard dialogs, except for the Page Setup dialog, which makes the tabs at the top dark. Text is unreadable then:
[attachment=8310:PageSetup.jpg]
It happens with dark skins.
Export to PDF dialog has a similar problem:
[attachment=8311:PdfExport.jpg]
May 24, 2017 at 2:07 pm #56707SupportKeymasterThese tabs are painted by the DevExpress skinning engine, seems.
If support of AlphaSkins in DevEx is enabled then DevEx uses functions of AlphaSkins for drawing…
May 25, 2017 at 10:47 am #56710HeDiBoParticipant'Support' wrote:These tabs are painted by the DevExpress skinning engine, seems.
If support of AlphaSkins in DevEx is enabled then DevEx uses functions of AlphaSkins for drawing…
I understand,
But it should not do that, if the form, on which this page control is placed, is added to the third party exception list:
Code:ThirdPartySkipForms.Add('TdxfmPageSetupDialog');The TcxPageControl and its TcxTabSheet Captions used there are still skinned.
May 25, 2017 at 3:02 pm #56713HeDiBoParticipantThis code from acLFPainer should do the trick with forms added to ThirdPartySkipForms:
Code:function Skinned: boolean;
begin
DefManager := DefaultManager;
if DefManager nil then
Result := DefManager.CommonSkinData.Active
else
Result := False
end;It's this code that determines for all DevExpress controls if skinning should be done.
The code does not test if the control is placed on a Form that's mentioned in this exception list.
As the matter of fact, the only place where this is tested is in the TsSkinProvider. That is obviously absent in the PageSetup dialog of DevExpress.
There might be a solution to this, is DefaultManager was a function that would return an inactive SkinManager for excluded forms. Or if the DefaultManager would be nil for excluded forms.
May 26, 2017 at 8:34 am #56721SupportKeymasterThank you, you gived me an idea how to improve it.
Try the attached file, tabs will not be skinned if form is not skinned.
May 26, 2017 at 11:20 am #56727HeDiBoParticipant'Support' wrote:Thank you, you gived me an idea how to improve it.
Try the attached file, tabs will not be skinned if form is not skinned.
It works great. My only concern is, that the Skinned function takes too much time for forms with complicated grids, etc.
I myself have a fast PC, so I will not notice a difference. But users with slow lap tops may.
However it does the job very well
-
AuthorPosts
- You must be logged in to reply to this topic.