Current filter:
                                You should refresh the page.
                                  • Standard ExpressBars Customization Dialog does not show dropdown arrow for TdxBarLargeButton with ButtonStyle=bsDropDown. In early versions of VCL components this arrow was drawn. I found that TdxBarCustomizationFormPainter.CalcButtonOrSubItemRects, TdxBarCustomizationFormPainter.GetIsNeedDrawSubItemArrow does not see that TdxBarLargeButton is valid for the painting DropDownMenu arrow:

                                    class procedure TdxBarCustomizationFormPainter.CalcButtonOrSubItemRects(
                                      AItem: TdxBarItem; const R: TRect; out ASideStripRect, ATextRect, AArrowRect: TRect);
                                      ATextRect := R;
                                      AArrowRect := R;
                                      ASideStripRect := R;
                                      ASideStripRect.Right := ASideStripRect.Left + R.Bottom - R.Top;
                                      ATextRect.Left := ASideStripRect.Right + 1 + 4;
                                      if (AItem is TdxBarButton) and (TdxBarButton(AItem).ButtonStyle = bsDropDown) then
                                        Dec(ATextRect.Right, 4 + 9);
                                      AArrowRect.Left := ATextRect.Right;

                                    class function TdxBarCustomizationFormPainter.GetIsNeedDrawSubItemArrow(AItem: TdxBarItem): Boolean;
                                      Result :=
                                        (AItem is TdxBarButton) and (TdxBarButton(AItem).ButtonStyle = bsDropDown) or
                                        (AItem is TCustomdxBarSubItem) and not (AItem is TCustomdxBarContainerItem) or
                                        (AItem is TCustomdxBarContainerItem) and not TCustomdxBarContainerItemAccess(AItem).HideWhenRun;

                                    Perhaps similar checks also exist in other places.
                                    I understand this happened because of a change in the inheritance scheme for the TdxBarLargeButton.
                                    In earlier versions TdxBarLargeButton was inherited directly from TdxBarButton and arrow was drawn. But now both TdxBarButton and TdxBarLargeButton are inherited from TdxBarCustomButton.

                                • Paulo (DevExpress Support) 02.08.2019

                                  Hello Oleg,

                                  Thank you for sharing your research results. It may take us some time to examine this scenario.

                                1 Solution

                                Creation Date Importance Sort by