2009-11-20 2 views
2

저는 델파이 2009 (업데이트 1, 2, 3, 4)를 사용하고 있습니다. 나는 아주 특이한 것을보고있다. 큰 글리프가있는 큰 버튼이있을 때 버튼의 이미지가 버튼 중앙에 배치되지 않습니다. 중앙에 배치되는 것이 아니라, 그림의 왼쪽 부분이 버튼 중앙에서 시작됩니다. (일반적으로 내가 사용할 수를 볼 것 리본의 큰 버튼의 이미지가 가운데에 있지 않습니다 ... 어떤 아이디어입니까? 디자인 타임에 시연하기 쉽습니다.

  1. 액션 편집기에 가서
  2. 객체 관리자의를 붙일 수의 콤보를 사용하는 작업을 선택, 목록이 비어 :

    단서 내가 때이다 콤보 상자의 이미지).

내가 설정하지 못한 이미지 너비 또는 imagelist가 올바르게 구성되지 않은 것처럼 보입니다. 대형 버튼의 문양은 32x32가되어야합니다.

  1. 0

는거야에 조치 1의 imageIndex에 설정 이미지 목록

  • 에 32 × 32 이미지를 추가 빈 양식
  • 에 이러한 구성 요소를 붙여 넣습니다

    는 다음 시도 즉시 무슨 뜻인지 알 겠어!

    glyph is not centered! http://xrw.bc.ca/download/so/hurry.png

    사람은 그렇게 보이는 이유를 말해 줄 수?

    리본 데모 앱에이 문제가 표시되지 않는다는 사실이 흥미 롭습니다. 나는 심지어 같은 이미지를 보았다.

    감사합니다.

    object ActionManager1: TActionManager 
        ActionBars = < 
        item 
         Items = < 
         item 
          Action = Action1 
          Caption = '&Action1' 
          ImageIndex = 0 
          CommandProperties.ButtonSize = bsLarge 
         end> 
         ActionBar = RibbonGroup1 
        end> 
        LargeDisabledImages = img3232 
        LargeImages = img3232 
        Left = 376 
        Top = 184 
        StyleName = 'Ribbon - Luna' 
        object Action1: TAction 
        Caption = 'Action1' 
        ImageIndex = 0 
        end 
    end 
    object Ribbon1: TRibbon 
        Left = 0 
        Top = 0 
        Width = 693 
        Height = 147 
        ActionManager = ActionManager1 
        Caption = 'Ribbon1' 
        Tabs = < 
        item 
         Caption = 'RibbonPage1' 
         Page = RibbonPage1 
        end> 
        ExplicitLeft = 232 
        ExplicitTop = 80 
        ExplicitWidth = 0 
        DesignSize = (
        693 
        147) 
        StyleName = 'Ribbon - Luna' 
        object RibbonPage1: TRibbonPage 
        Left = 0 
        Top = 54 
        Width = 692 
        Height = 93 
        Caption = 'RibbonPage1' 
        Index = 0 
        object RibbonGroup1: TRibbonGroup 
         Left = 4 
         Top = 3 
         Width = 54 
         Height = 86 
         ActionManager = ActionManager1 
         Caption = 'RibbonGroup1' 
         GroupIndex = 0 
        end 
        end 
    end 
    object img3232: TImageList 
        Height = 32 
        Width = 32 
        Left = 376 
        Top = 256 
    end 
    
  • 답변

    3

    @ 문제 (? 기본적으로) 관련 TActionClients 개체를 어떻게 든 (구조보기에서 찾을)이었다 그리 잘못된 위치로 이어지는 ... SmallIcons = true를 가져옵니다. 객체 검사기에서 변경했습니다. & 이제 작동합니다.

    0

    필자는 이전에 Delphi 2009에서이 문제가 있었는데 (2010 년에 사라진 것처럼 보임).

    IIRC의 경우 작업 관리자의 큰 이미지 목록 참조를 아무 것도 아닌 것으로 설정 한 다음 다시 이미지 목록으로 다시 설정해보십시오.

    N은

    +0

    의견을 보내 주셔서 감사합니다! 나는 더 깊이 파고 대답을 찾았다. (다른 글 참조). –

    0

    직접이 문제를 발견했습니다. 런타임에 TRibbon 페이지에 그룹을 추가하고있었습니다 (플러그인 프레임 워크에서 작업하고 있습니다). 그룹을 추가하고 버튼을 추가 한 후 이미지가 오프셋되었습니다. 그러나 XP에서는 입니다.

    I는 문제 (큰 버튼 용) 버튼을 중심으로 다음 TCustomActionControl에 FGlyphPos하게 0,되는 어떤 시점에서의 글리프 폭과 관련이있다, 텍스트 생각 는 상기 위치하도록 버튼의 왼쪽 (작은 버튼 용). 그룹의 너비도 이보다 작습니다.

    모든 폼에이 코드를 추가하는 것입니다 정렬 다시 그룹을 걷어차하기위한 빠르고 쉬운 방법 (I가에서 onShow 이벤트에 추가 한 여기지만, 당신이 좋아하는 어디를 넣을 수 있습니다) :

    for LTabIndex := 0 to Ribbon.Tabs.Count - 1 do 
        for LGroupIndex := 0 to Ribbon.Tabs[LTabIndex].Page.GroupCount - 1 do 
        Ribbon.Tabs[LTabIndex].Page.Groups[LGroupIndex].AlignGroupControls; 
    

    희망이 있으면 도움이됩니다. :)