HeDiBo

Forum Replies Created

Viewing 20 posts - 181 through 200 (of 1,174 total)
  • Author
    Posts
  • in reply to: Show hints even if control is disabled #68931
    HeDiBo
    Participant

      First tests in 15.09 suggest you’ve made it ๐Ÿ’Ž

      in reply to: Image and Caption distance in TsButton is too big #68930
      HeDiBo
      Participant

        No change in 15.09

        in reply to: Image and Caption distance in TsButton is too big #68926
        HeDiBo
        Participant

          It’s actually very nice you had this. This proves that a previous version of AC went OK.
          Thank you for your efforts.

          in reply to: Image and Caption distance in TsButton is too big #68921
          HeDiBo
          Participant

            <p zoompage-fontsize=”14″>I think youโ€™ll have better control with a TsBitBtn

            Why should I use a different button?
            This worked before, but it’s hampered in AC 15.08 (the distance between image and caption has become larger).

            HeDiBo
            Participant

              I tried your project without a problem.
              I’m inclined to think it’s a Windows problem. You’re running the same Windows version I have. But AC put a lot of work into showing Windows dialog in native skin. There must be a reason for this. Even if I change sSkinManager1.Options.ChangeSysColors to True, things still work.
              My advice would be to go to AC version 15.08 Although it’s labeled beta, it’s very stable already.

              HeDiBo
              Participant

                There are so many things that could be the reason.
                Please, add a sample project illustrating the problem.
                Fyi: in AC 15.08 I could not replicate this problem.

                in reply to: Sugestion #68892
                HeDiBo
                Participant

                  Personally, I donโ€™t see the difference between this TacLayout and a simple flat TsPanel.

                  There is no difference (yet). It is just an easy way: no hassle with setting SkinDate and other stuff, also the border at design time is handy (you don’t have to guess at design time where the panel is).

                  in reply to: Sugestion #68890
                  HeDiBo
                  Participant

                    Hi Serge,
                    There is a reason why I called the component TacLayout. That would leave the possibility to include a TsLayout component in the package.
                    Are you willing to do so?

                    in reply to: TsCheckListBox uses wrong font for Header #68883
                    HeDiBo
                    Participant

                      Can you also add a bit of code to change the Header font?

                      in reply to: Sugestion #68878
                      HeDiBo
                      Participant

                        This is the result:

                        unit acLayout;
                        {$i sDefs.inc}
                        
                        interface
                        
                        uses
                          System.SysUtils, System.Classes, Vcl.Controls, Vcl.ExtCtrls, sPanel;
                        
                        type
                          TacLayout = class(TsCustomPanel)
                          public
                            constructor Create(AOwner: TComponent); override;
                            property DockManager;
                          published
                            property Align;
                            property Anchors;
                            property AutoSize;
                            property Constraints;
                            property UseDockManager default True;
                            property DockSite;
                            property DoubleBuffered;
                            property DragCursor;
                            property DragKind;
                            property DragMode;
                            property Enabled;
                            property FullRepaint;
                            property Locked;
                          {$IFDEF D2010}
                            property Padding;
                            property ParentDoubleBuffered;
                            property Touch;
                            property VerticalAlignment;
                            property OnAlignInsertBefore;
                        
                            property OnAlignPosition;
                            property OnGesture;
                            property OnMouseActivate;
                          {$ENDIF}
                            property ParentShowHint;
                            property PopupMenu;
                            property ShowHint;
                            property TabOrder;
                            property TabStop;
                            property Visible;
                            property OnCanResize;
                            property OnClick;
                            property OnConstrainedResize;
                            property OnContextPopup;
                            property OnDockDrop;
                            property OnDockOver;
                            property OnDblClick;
                            property OnDragDrop;
                            property OnDragOver;
                            property OnEndDock;
                            property OnEndDrag;
                            property OnEnter;
                            property OnExit;
                            property OnGetSiteInfo;
                            property OnMouseDown;
                            property OnMouseMove;
                            property OnMouseUp;
                            property OnResize;
                            property OnStartDock;
                            property OnStartDrag;
                            property OnUnDock;
                            property OnMouseEnter;
                            property OnMouseLeave;
                          end;
                        
                        implementation
                        
                        { TacLayout }
                        
                        uses Forms;
                        
                        constructor TacLayout.Create(AOwner: TComponent);
                        begin
                           inherited;
                           SkinData.SkinSection := 'TRANSPARENT';
                           BevelEdges := [beLeft, beTop, beRight, beBottom];
                           BevelInner := bvNone;
                           BevelOuter := bvNone;
                           BorderWidth := 0;
                           BorderStyle := bsNone;
                           Caption := ' ';
                           ParentCtl3D := False;
                           Ctl3D := False;
                        {$IFDEF D2010}
                           ShowCaption := False;
                        {$ENDIF}
                        {$IFDEF DELPHI7UP}
                           ParentBackground := True;
                        {$ENDIF}
                           ParentFont  := False;
                           SideShadow.Mode := ssmNone;
                           if csDesigning in ComponentState then BevelKind := bkFlat
                                                            else BevelKind := bkNone;
                        end;
                        
                        end.
                        

                        Although the skin says TRANSPARENT the control is not really totally transparent. If you move a TacLayout on top of another control, it will still obscure the covered control.
                        What is needed here is a type of glass effect. I’m not sure how to accomplish that.
                        Serge, can you help me out?

                        in reply to: Sugestion #68877
                        HeDiBo
                        Participant

                          I know now why this is such a pain. Every component that is created at design time gets its properties listed in the dfm file. That file is streamed in by the Reader AFTER the creation. Because on design time, the BevelKind is bkFlat, that is the value streamed to the dfm file. At run time, the property is set to bkNone during the component’s create event, but after that its properties are loaded in by the Reader and reset to bkFlat.
                          So, the TacLayout component should inherit from TsCustomPanel, where the properties are not published, and selectively publish the properties needed. If Bevelkind is not published, it will not be streamed in by the Reader and all’s well.
                          I’ll study which properties are needed for the TacLayout component and make a better one.

                          in reply to: Sugestion #68876
                          HeDiBo
                          Participant

                            Loaded procedure is only called if the component is streamed in with the form. If it is created dynamically in code, the Loaded procedure is not called. So, this solution may work, but is by no means foolproof.

                            in reply to: Sugestion #68875
                            HeDiBo
                            Participant

                              Serge,
                              Why is the BevelKind property changed after the Create constructor?
                              And why does this even work. Is Loaded not called at design time?
                              Thank you for clarifying this.

                              in reply to: Sugestion #68873
                              HeDiBo
                              Participant

                                For some reason the BevelKind is bvNone at design time. I don’t know any more where to set it. Maybe Serge can help here.

                                in reply to: Sugestion #68871
                                HeDiBo
                                Participant

                                  I must disagree with you, TLayout is by no means a light component.
                                  You may find the following lightweight component useful:

                                  unit acLayout;
                                  
                                  interface
                                  
                                  uses
                                    System.SysUtils, System.Classes, Vcl.Controls, Vcl.ExtCtrls, sPanel;
                                  
                                  type
                                    TacLayout = class(TsPanel)
                                    private
                                      { Private declarations }
                                    protected
                                      { Protected declarations }
                                    public
                                      constructor Create(AOwner: TComponent); override;
                                      procedure Loaded; override;
                                    published
                                      { Published declarations }
                                    end;
                                  
                                  procedure Register;
                                  
                                  implementation
                                  
                                  procedure Register;
                                  begin
                                    RegisterComponents('Samples', [TacLayout]);
                                  end;
                                  
                                  { TacLayout }
                                  
                                  constructor TacLayout.Create(AOwner: TComponent);
                                  begin
                                     inherited;
                                     SkinData.SkinSection := 'TRANSPARENT';
                                     BevelOuter := bvNone;
                                     Ctl3D := False;
                                     ShowCaption := False;
                                     ParentCtl3D := False;
                                     ParentFont  := False;
                                     // Although the following would make sense, after the Create event
                                     // ... apparently the BevelKind property is reset again during load.
                                     // ... So this logic is moved to after the Loaded event.
                                  // if csDesigning in ComponentState then BevelKind := bkFlat
                                  //                                  else BevelKind := bkNone;
                                  end;
                                  
                                  procedure TacLayout.Loaded;
                                  begin
                                     inherited;
                                     // Moved from Create event:
                                     if csDesigning in ComponentState then BevelKind := bkFlat
                                                                      else BevelKind := bkNone;
                                  end;
                                  
                                  end.

                                  Hope this helps.

                                  in reply to: Sugestion #68868
                                  HeDiBo
                                  Participant

                                    Why do you think the use of TPanel with Transparent skin is inferior to a layout setup?

                                    in reply to: Have a png image behave like a font image #68844
                                    HeDiBo
                                    Participant

                                      I didn’t realize the big difference between characters, being vectors, and my icons, being bitmaps.
                                      Still it is an interesting idea to have bitmaps that become negative on dark skins.

                                      HeDiBo
                                      Participant

                                        In AC15.08 you solved this problem ๐Ÿ’Ž
                                        Please close this topic.

                                        HeDiBo
                                        Participant

                                          In 15.08 you apparently have done some work on this.
                                          The OnMouseEnter and OnMouseLeave events do not work yet. Also the X,Y coordinates in OnMouseMove are incorrect. So, do you expect it to start working in a next release?

                                          in reply to: AC 15 Lighting option is not always an improvement. #68831
                                          HeDiBo
                                          Participant

                                            You seem to have found a solution in AC 15.08. Congrats ๐ŸŽˆ

                                          Viewing 20 posts - 181 through 200 (of 1,174 total)