Wowpedia

We have moved to Warcraft Wiki. Click here for information and the new URL.

READ MORE

Wowpedia
Advertisement

Creates a new Frame object.

frame = CreateFrame(frameType [, name, parent, template, id])

Arguments

frameType
string - Type of the frame e.g. "Frame" or "Button".
name
string? - Globally accessible name to assign to the frame, or nil for an anonymous frame.
parent
Frame? - Parent object to assign to the frame, or nil to be parentless; cannot be a string. Can also be set with Region:SetParent()
template
string? - Comma-delimited list of virtual frames to inherit from. See also the Complete List of FrameXML templates.
id
number? - ID to assign to the frame. Can also be set with Frame:SetID()

Returns

frame
Frame - The created Frame object or one of the other frame type objects.

Frame types

Possible frame types are available from the UI.xsd file.

Details

  • Frames cannot be deleted or garbage collected, but they can be reused/recycled.
There technically is a way to destroy frames by parenting them to a user waypoint frame.
  • Fires the frame's OnLoad script, if it has one from an inherited template.

Examples

  • Shows a texture which is also parented to UIParent so it will be hidden when toggled with Alt-Z
API CreateFrame mushroom

inv_mushroom_11

local f = CreateFrame("Frame", nil, UIParent)
f:SetPoint("CENTER")
f:SetSize(64, 64)

f.tex = f:CreateTexture()
f.tex:SetAllPoints(f)
f.tex:SetTexture("interface/icons/inv_mushroom_11")
Button Click me

Click me

local btn = CreateFrame("Button", nil, UIParent, "UIPanelButtonTemplate")
btn:SetPoint("CENTER")
btn:SetSize(100, 40)
btn:SetText("Click me")
btn:SetScript("OnClick", function(self, button)
	print("You clicked me with "..button)
end)
local m = CreateFrame("PlayerModel")
m:SetPoint("CENTER")
m:SetSize(200, 200)
m:SetDisplayInfo(21723) -- murloccostume.m2
  • Registers for events being fired, like chat messages and when you start/stop moving.
local function OnEvent(self, event, ...)
	print(event, ...)
end

local f = CreateFrame("Frame")
f:RegisterEvent("CHAT_MSG_CHANNEL")
f:RegisterEvent("PLAYER_STARTED_MOVING")
f:RegisterEvent("PLAYER_STOPPED_MOVING")
f:SetScript("OnEvent", OnEvent)

Patch changes

See also

References

Advertisement