File Open dialog distorted.

Viewing 20 posts - 1 through 20 (of 26 total)
  • Author
    Posts
  • #38302
    HeDiBo
    Participant

    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.

    #59692
    Lasse
    Participant

    I noticed the same with save dialog…

    #59693
    Lasse
    Participant

    Oh, there is common variable acAllowLatestCommonDialogs in sDefaults.pas. By setting that to false, dialogs are fine.

    #59694
    HeDiBo
    Participant
    '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.

    #59695
    Lasse
    Participant

    Well, it is a common variable, so it can be set in your program code.

    #59701
    Support
    Keymaster

    Default value of this variable will be changed to False in the nearest release.

    #59702
    Lasse
    Participant

    Delphi'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…

    #59704
    HeDiBo
    Participant
    'Support' wrote:

    Default value of this variable will be changed to False in the nearest release.

    Great a3.gif

    #59705
    HeDiBo
    Participant
    '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.

    #59715
    Support
    Keymaster

    I'm searching ways for making it.

    #59859
    HeDiBo
    Participant
    'Support' wrote:

    I'm searching ways for making it.

    In 14.31 still no change

    #61318
    HeDiBo
    Participant

    I’m searching ways for making it.

    In 14.32 still no change 😢

    #61391
    sergunalpha
    Keymaster

    Sorry.
    You should know that I’m searching a way to skin it completely latest 2-3 years.
    But without success, unfortunately.

    #61441
    HeDiBo
    Participant

    You 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.

    • This reply was modified 4 years, 11 months ago by HeDiBo.
    • This reply was modified 4 years, 11 months ago by HeDiBo.
    #68206
    HeDiBo
    Participant

    Apparently 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 project

    Attachments:
    You must be logged in to view attached files.
    #68219
    Support
    Keymaster

    Thanks 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).

    #68281
    HeDiBo
    Participant

    Pressing 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, 8 months ago by HeDiBo.
    #68288
    Support
    Keymaster

    Skinning of this dialog is disabled by default.
    Compiler directives are leaved for possibility of further researching.

    #68292
    HeDiBo
    Participant

    Still, 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, 8 months ago by HeDiBo.
    #68313
    Support
    Keymaster

    I 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?

Viewing 20 posts - 1 through 20 (of 26 total)
  • The topic ‘File Open dialog distorted.’ is closed to new replies.