I eventually figured this out, but since no one posted a response I figured I would post a brief example. That way if anyone else is curious this might help get you started.
This example does not lock the focus to
"ANY" control/window. It creates a popup dialog box and locks focus to it
(like the confirmation box you get when you try to destroy an item), but thats exactly what I was looking for when I posted the question.
First you have to to create the dialog like this.
Note: I just copied one I used in an addon & then altered it some (so there may be type-o's/mistakes, its untested) adding optional fields I know of (commented out).
Lua Code:
ESO_Dialogs["USE_A_UNIQUE_NAME"] = {
title = {
text = "<<1>> ERROR", -- Dialog title text: this field must exist --
align = TEXT_ALIGN_CENTER, -- optional field --
--(optional) title = ? didn't mess with this one, but it is an optional field
},
mainText = {
text = "Error Type: <<1>>, Error Message: <<2>>, Error Occurred At: <<3>>", -- Text for body/contents of dialog box: Must exist --
align = TEXT_ALIGN_CENTER, -- optional --
timer = 3, -- Optional means that the 3rd parameter should be converted to a time before being placed in the mainText string --
},
buttons = {
[1] = {
text = "Ok", -- Button Text: This one must exist --
--(optional) callback = function(dialog) return dialog.data[i] end, -- dialog.data[i] is the ith parameter --
--(optional) clickSound = (sound to play when clicking button)
},
[2] = {
text = "Cancel", -- This one must exist --
--(optional) callback = function(dialog) return dialog.data[i] end, -- dialog.data[i] is the ith parameter --
--(optional) clickSound = (sound to play when clicking button)
},
},
}
Theres also an option to display an animated loading icon, not sure how it works though or where it goes. showLoadingIcon = ? (displays animated loading icon)
Then call it with:
Lua Code:
ZO_Dialogs_ShowDialog("USE_A_UNIQUE_NAME", 3, {titleParams={sErrorType}, mainTextParams={ErrorType, ErrorMessage, TimeErrorOccurred}})
The first parameter must match the name you gave your dialog
(we created above).
Second parameter is just some value passed in that you might want to use in your callback functions.
The third parameter holds the titleParams & mainTextParams.