Добавлен
Хотел создать свой фрейм с кнопками и со скроллом как это сделано в квестах:
раскрыть
Вот создал я фдф на основе QuestDialog.fdf:
раскрыть

// Котейнер
Frame "FRAME" "HeroListContainer" {
    Height      0.11f,
    Width       0.21f,
    SetPoint    TOPLEFT, "HeroListTitle", BOTTOMLEFT,  -0.003, -0.002,
}
// Кнопка
Frame "FRAME" "HeroListItem" {
    Height 0.033,
    Width  0.08,

    Frame "BACKDROP" "HeroListItemIconContainer" {
        UseActiveContext            ,
        Width                       0.035,
        Height                      0.035,        
        SetPoint                    TOPLEFT, "HeroListItem", TOPLEFT, 0, 0,
        DecorateFileNames           ,
        BackdropBackground          "EscMenuBackground",
        BackdropBackgroundInsets    0.005 0.005 0.005 0.005,

        Frame "BACKDROP" "HeroListItemBorder" {
            UseActiveContext            ,
            SetAllPoints                ,            
            DecorateFileNames           ,
            BackdropBackground          "EscMenuBlankBackground",
            BackdropCornerFlags         "UL|UR|BL|BR|T|L|B|R",
            BackdropCornerSize          0.0125,
            BackdropBackgroundSize      0.032,
            BackdropEdgeFile            "EscMenuButtonBorder",
	    	BackdropBackgroundInsets    0.005 0.005 0.005 0.005,
            BackdropBlendAll            ,    
        }
    }

    Frame "GLUEBUTTON" "HeroListItemButton" INHERITS WITHCHILDREN "HeroButtonTemplate" {
        UseActiveContext        ,
        SetPoint                TOPLEFT,       "HeroListItemIconContainer",   TOPRIGHT,      -0.003,  0,
        SetPoint                BOTTOMRIGHT,   "HeroListItem",                BOTTOMRIGHT,   -0.003,  0,    
        ControlStyle            "AUTOTRACK",

        Frame "HIGHLIGHT" "HeroListItemPickedHighlight" INHERITS WITHCHILDREN "HeroButtonMouseOverHighlightTemplate" {
            UseActiveContext,
            SetAllPoints,
            HighlightAlphaFile "QuestDialogCompletedMouseOverHighlight",
            HighlightAlphaMode "ADD",
        }

        Frame "HIGHLIGHT" "HeroListItemSelectedHighlight" INHERITS WITHCHILDREN "HeroButtonMouseOverHighlightTemplate" {
            UseActiveContext,
            SetAllPoints,
        }
    }

    Frame "TEXT" "HeroListItemPicked" INHERITS "EscMenuInfoTextTemplate" {
        UseActiveContext,
        DecorateFileNames,
        FrameFont "MasterFont", 0.009,"",
        Width  0.06,
	    FontJustificationH JUSTIFYLEFT,
        SetPoint BOTTOMLEFT, "HeroListItemButton", BOTTOMLEFT, 0.012, 0.005,            
    }

    Frame "TEXT" "HeroListItemTitle" INHERITS "EscMenuButtonTextTemplate" {
        UseActiveContext,
        SetPoint LEFT, "HeroListItemButton", LEFT, 0.002, 0,
        FontColor 1.0 1.0 1.0 1.0,
        FontHighlightColor 1.0 1.0 1.0 1.0,
        FontDisabledColor 0.4 0.5 0.6 0.7,
        FontJustificationH JUSTIFYLEFT,
	    FontJustificationOffset 0.01 0.001,                        
        Text "QuestListItemTitle",
	}
}

// SCROLLBAR

Frame "SCROLLBAR" "HeroListScrollBar" INHERITS WITHCHILDREN "EscMenuScrollBarTemplate" {
    SetPoint TOPRIGHT, "HeroListContainer", TOPRIGHT, 0.005, 0,
}
А через триггеры написал следующее:
раскрыть
local game_ui          = BlzGetOriginFrame( ORIGIN_FRAME_GAME_UI, 0 )

local hero_list_container = BlzCreateFrame( "HeroListContainer", game_ui, 0, 0 )

local hero_list_item_1    = BlzCreateFrame( "HeroListItem", hero_list_container, 0, 0 )
local hero_list_item_2    = BlzCreateFrame( "HeroListItem", hero_list_container, 0, 0 )
local hero_list_item_3    = BlzCreateFrame( "HeroListItem", hero_list_container, 0, 0 )
local hero_list_item_4    = BlzCreateFrame( "HeroListItem", hero_list_container, 0, 0 )

local hero_list_scrollbar = BlzCreateFrame( "HeroListScrollBar", hero_list_container, 0, 0 )

BlzFrameSetPoint( hero_list_container, FRAMEPOINT_CENTER, game_ui, FRAMEPOINT_CENTER, 0.0, 0.0 )

BlzFrameSetPoint( hero_list_item_1, FRAMEPOINT_TOPLEFT, hero_list_container, FRAMEPOINT_TOPLEFT, 0.0, 0.0 )
BlzFrameSetPoint( hero_list_item_2, FRAMEPOINT_TOPLEFT, hero_list_item_1, FRAMEPOINT_BOTTOMLEFT, 0.0, 0.0 )
BlzFrameSetPoint( hero_list_item_3, FRAMEPOINT_TOPLEFT, hero_list_item_2, FRAMEPOINT_BOTTOMLEFT, 0.0, 0.0 )
BlzFrameSetPoint( hero_list_item_4, FRAMEPOINT_TOPLEFT, hero_list_item_3, FRAMEPOINT_BOTTOMLEFT, 0.0, 0.0 )
Но ничего не вышло, а вышло вот это уродство:
раскрыть

Принятый ответ

Hate:
скролл?
иконки можно поверх кнопок рисовать
я просто фдф вообще не юзаю практически, только ради заранее каких то простеньких шаблонов
типа скроллбара
            new_Frame = BlzCreateFrameByType("SLIDER", "ASD", main_frame, "QuestMainListScrollBar", 0)
            BlzFrameClearAllPoints(new_Frame)
            BlzFrameSetMinMaxValue(new_Frame, 1, 1)
            BlzFrameSetValue(new_Frame, 1)
            BlzFrameSetStepSize(new_Frame, 1)
            BlzFrameSetPoint(new_Frame, FRAMEPOINT_RIGHT, main_frame, FRAMEPOINT_RIGHT, -0.015, 0.035)
            BlzFrameSetSize(new_Frame, 0.015, 0.2)
как мне сказали, взять скроллбар но тип вкинуть слайдер
тогда можно брать значения скролла
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
21
4 года назад
0
Hate:
скролл?
иконки можно поверх кнопок рисовать
я просто фдф вообще не юзаю практически, только ради заранее каких то простеньких шаблонов
типа скроллбара
            new_Frame = BlzCreateFrameByType("SLIDER", "ASD", main_frame, "QuestMainListScrollBar", 0)
            BlzFrameClearAllPoints(new_Frame)
            BlzFrameSetMinMaxValue(new_Frame, 1, 1)
            BlzFrameSetValue(new_Frame, 1)
            BlzFrameSetStepSize(new_Frame, 1)
            BlzFrameSetPoint(new_Frame, FRAMEPOINT_RIGHT, main_frame, FRAMEPOINT_RIGHT, -0.015, 0.035)
            BlzFrameSetSize(new_Frame, 0.015, 0.2)
как мне сказали, взять скроллбар но тип вкинуть слайдер
тогда можно брать значения скролла
Принятый ответ
Чтобы оставить комментарий, пожалуйста, войдите на сайт.