Lasse

Forum Replies Created

Viewing 20 posts - 1 through 20 (of 212 total)
  • Author
    Posts
  • in reply to: “Property Doublebuffered does not exist” #78595
    Lasse
    Participant

      Delphi 7 is 24 years old and can’t remember if it supported DoubleBuffering property. But if it does not, just search DoubleBuffering from your dfm files and removed it.

      in reply to: “Property Doublebuffered does not exist” #78586
      Lasse
      Participant

        Double buffering is irrelevant if the skin is active. AlphaSkins buffers itself. Without a skin, you can turn on double buffering with code or publish the property for IDE use by yourself.

        in reply to: Alpha DB Components Delphi 13 #77496
        Lasse
        Participant

          In Delphi 12 you can find TNavButtonStyle in the file Vcl.DBCtrls.pas:

          TNavButtonStyleItem = (nsAllowTimer, nsFocusRect);
          TNavButtonStyle = set of TNavButtonStyleItem;

          You can add that to sDBNavigator.pas unit or just comment out the NavStyle from TsNavButton class. I chose the latter option myself. Not a necessary feature.

          • This reply was modified 4 months, 2 weeks ago by Lasse.
          in reply to: Delphi 13 compatibility? #77229
          Lasse
          Participant

            Also September patch for Delphi 13 was released on friday. Needs more testing but promising.

            in reply to: Delphi 13 compatibility? #77226
            Lasse
            Participant

              You need to also fix three defines in sSkinProviders.pas. Just search DELPHI_12 and you will see. Add similar defines for DELPHI_13.

              • This reply was modified 5 months, 1 week ago by Lasse.
              • This reply was modified 5 months, 1 week ago by Lasse.
              in reply to: Delphi 13 compatibility? #76962
              Lasse
              Participant

                Just check that the parameters of TBeforeNavigate2 type and DoBeforeNavigate2 procedure are matching. It is saying that those are not a match. There are multiple type definitions for it and defines may be the issue.

                in reply to: Delphi 13 compatibility? #76944
                Lasse
                Participant

                  I created project files and installed it but I see issues with my projects. Some are Delphi 13 related thou. I will wait the 13.1 fix pack before even trying again.

                  I attached the project files and group file. There might be some my own files mentioned in project files. Just remove them.

                  • This reply was modified 5 months, 3 weeks ago by Lasse.
                  Attachments:
                  You must be logged in to view attached files.
                  Lasse
                  Participant

                    I have had the same issue with Delphi 11.3 without AlphaSkins. I think I tackled this by overriding CreateParams…

                    procedure CreateParams(var Params: TCreateParams); override;
                    
                    procedure TMainBaseForm.CreateParams(var Params: TCreateParams);
                    begin
                      inherited CreateParams(Params);
                    
                      with Params do
                      begin
                        ExStyle := ExStyle and not WS_EX_APPWINDOW;
                        WndParent := Application.Handle;
                      end;
                    end;
                    in reply to: At 150% the TsTreeView nodes become very small #71419
                    Lasse
                    Participant

                      It is not about Windows dark mode but control dark theme. SetWindowTheme is getting the control handle as a parameter.

                      Winapi.UxTheme.SetWindowTheme(Handle, PWideChar(‘DarkMode_Explorer’), nil);

                      So, you just need to decide when the used control skin is dark and then set the theme for it. These are Windows controls at their core and the arrow painting is coming there. It is also possible to draw those arrows by yourself but then you also need to decide when the control is dark.

                      in reply to: At 150% the TsTreeView nodes become very small #71414
                      Lasse
                      Participant

                        I use dark skins a lot in my projects and you can get it working.

                        Attachments:
                        You must be logged in to view attached files.
                        in reply to: At 150% the TsTreeView nodes become very small #71412
                        Lasse
                        Participant
                          in reply to: Delphi 12 is coming #71392
                          Lasse
                          Participant

                            Yes, you need the source code for that. There is a quite huge reason why the AlphaSkins is not updated. The war is still going on.

                            in reply to: Delphi 12 is coming #71371
                            Lasse
                            Participant

                              You can create C++ project files from the Alexandria files by yourself. No information on when the official project files will come, if they ever will.

                              in reply to: Set margin for close button of page control tab #71368
                              Lasse
                              Participant

                                Reading the code reveals that there is no property for this. But in TsPageControl.InitTabContentData you see that there is BtnOffsX which is constant. That procedure will initialize the dContent parameter for TsPageControl.PaintButton.

                                const
                                  BtnOffsX = 4; // Offset of the Close button from right border

                                You need to fix the original code to move it. However, I think that close button is exactly in the right place. Or maybe you are using some skin which is not ok.

                                • This reply was modified 2 years, 3 months ago by Lasse.
                                in reply to: Delphi 12 is coming #71365
                                Lasse
                                Participant

                                  Here it comes. Include file also included.

                                  Attachments:
                                  You must be logged in to view attached files.
                                  in reply to: Delphi 12 is coming #71364
                                  Lasse
                                  Participant

                                    I also see the Yukon became Athens. I will fix the project files and upload them soon.

                                    in reply to: Delphi 12 is coming #71363
                                    Lasse
                                    Participant

                                      Ooops, that is my own control. You can delete it.

                                      in reply to: TreeView and FluenNight skin #71360
                                      Lasse
                                      Participant

                                        This depends on your code. The point is to call the Winapi.UxTheme.SetWindowTheme. You can do this in many different places.

                                        1. Inherit TsTreeView control and add for example WindowTheme property to set it
                                        2. Use interposer class TsTreeView = class(sTreeView.TsTreeView) and do the same
                                        3. Fix the original TsTreeView code and do the same
                                        4. Call it when initializing your form like

                                        Winapi.UxTheme.SetWindowTheme(YourTreeView.Handle, PWideChar(‘DarkMode_Explorer’), nil);

                                        I don’t know what is the best solution for you. If you are using TsTreeView more than 1 place, then I suggest the first. I also suggest using virtual treeview control https://github.com/JAM-Software/Virtual-TreeView

                                        in reply to: Delphi 12 is coming #71355
                                        Lasse
                                        Participant

                                          Fix:

                                          sDefs.inc: {$IFDEF VER360} {$DEFINE DELPHI_12}{$ENDIF}

                                          sSkinProvider.pas

                                          
                                          function SysBorderWidth(...
                                          ...
                                          {$IF DEFINED(DELPHI_11) OR DEFINED(DELPHI_12)} // {$IFDEF DELPHI_11} 

                                          There are also two other DELPHI_11 ifdefs which must be fixed.

                                          • This reply was modified 2 years, 4 months ago by Lasse.
                                          in reply to: Delphi 12 is coming #71353
                                          Lasse
                                          Participant

                                            There seems to be the same white border issue like with Alexandria at first.

                                            Attachments:
                                            You must be logged in to view attached files.
                                          Viewing 20 posts - 1 through 20 (of 212 total)