- This topic has 25 replies, 4 voices, and was last updated 4 years, 9 months ago by HeDiBo.
-
AuthorPosts
-
June 27, 2019 at 1:40 pm #38302HeDiBoParticipant
This is how the open dialog looks in the ASkinDemo for AC 14.27:
[attachment=9391:OpenDialog_427.jpg]
It's totally wrong. Especially if you use a dark windows theme, as shown in the picture.
June 28, 2019 at 1:13 pm #59692LasseParticipantI noticed the same with save dialog…
June 28, 2019 at 3:21 pm #59693LasseParticipantOh, there is common variable acAllowLatestCommonDialogs in sDefaults.pas. By setting that to false, dialogs are fine.
June 28, 2019 at 6:36 pm #59694HeDiBoParticipant'Lasse' wrote:Oh, there is common variable acAllowLatestCommonDialogs in sDefaults.pas. By setting that to false, dialogs are fine.
Thanks for the info. But I do not want to change that. Even the SkinDemo program goes wrong. The variable should have been set to False in the AC distribution.
June 29, 2019 at 4:29 am #59695LasseParticipantWell, it is a common variable, so it can be set in your program code.
June 29, 2019 at 6:56 am #59701SupportKeymasterDefault value of this variable will be changed to False in the nearest release.
June 29, 2019 at 9:14 am #59702LasseParticipantDelphi's common variable UseLatestCommonDialogs (in Vcl.Dialogs.pas) is True by default. So, it is not so wrong now but I understand that change of behaviour is not always a good thing…
June 29, 2019 at 10:05 am #59704HeDiBoParticipant'Support' wrote:Default value of this variable will be changed to False in the nearest release.
Great
June 29, 2019 at 10:30 am #59705HeDiBoParticipant'Support' wrote:Default value of this variable will be changed to False in the nearest release.
Maybe you could make an effort to better skin the dialogs when UseLatestCommonDialogs is True.
July 2, 2019 at 4:58 am #59715SupportKeymasterI'm searching ways for making it.
August 28, 2019 at 9:54 am #59859HeDiBoParticipant'Support' wrote:I'm searching ways for making it.
In 14.31 still no change
October 1, 2019 at 2:25 pm #61318HeDiBoParticipantI’m searching ways for making it.
In 14.32 still no change 😢
October 2, 2019 at 7:35 am #61391sergunalphaKeymasterSorry.
You should know that I’m searching a way to skin it completely latest 2-3 years.
But without success, unfortunately.October 2, 2019 at 12:01 pm #61441HeDiBoParticipantYou should know that I’m searching a way to skin it completely latest 2-3 years.
But without success, unfortunately.That’s a shame. Maybe you should not try then. Just (optionally) show the dialog in native windows style. Users would be used to that. As it is now, it is a horrible mix.
PS. As you can see above, the message quotations look very large.
December 3, 2019 at 5:17 pm #68206HeDiBoParticipantApparently you’ve been working on this, because now, setting UseLatestCommonDialogs := True will totally screw up the file open dialog, making it unresponsive and throwing an exception if the dialog is cancelled. If SkinManager is not Active, it works.
Have a look at the enclosed projectAttachments:
You must be logged in to view attached files.December 9, 2019 at 12:16 am #68219SupportKeymasterThanks for the demo.
Can you give me the Exe file also, please?
After running it on my PC dialog is not skinned after calling by both buttons (because default value of the acTryToSkinCommonDialogs is False).January 25, 2020 at 6:52 pm #68281HeDiBoParticipantPressing sOpenDialog shows a partly skinned dialog that will throw an exception if cancelled (same demo project) in AC 15.00.
procedure TacDialogWnd.acWndProc(var Message: TMessage); var PS: TPaintStruct; X, Y, i: integer; cR, rClient: TRect; begin {$IFDEF LOGGED} // if (SkinData <> nil) and (SkinData.SkinSection <> 'DIALOG') then AddToLog(Message); {$ENDIF} case Message.Msg of WM_DESTROY, WM_NCDESTROY: begin if SkinData.FCacheBmp <> nil then << Access violation, because SkinData = nil!!! SkinData.FCacheBmp.Assign(nil);
So, please do not attempt to skin the dialog at all in this situation. The unskinned variant is what users are used to anyway.
- This reply was modified 4 years, 9 months ago by HeDiBo.
January 26, 2020 at 8:44 am #68288SupportKeymasterSkinning of this dialog is disabled by default.
Compiler directives are leaved for possibility of further researching.January 26, 2020 at 1:39 pm #68292HeDiBoParticipantStill, exceptions are not a good idea.
In the given situation, SkinData is nil and should be tested.
I’m not sure what the given compiler directives have to do with it. Or do you mean that you’re going to set it up like that?- This reply was modified 4 years, 9 months ago by HeDiBo.
January 27, 2020 at 11:00 am #68313SupportKeymasterI didn’t wrote about exceptions. I mean, that this dialog is not skinned by default (the acTryToSkinCommonDialogs variable is False in the sDefaults.pas).
Why you have this dialog skinned partially? -
AuthorPosts
- The topic ‘File Open dialog distorted.’ is closed to new replies.