Documentation
¶
Overview ¶
Package app 程序(炫彩全局API).
Index ¶
- func NewWindow(x, y, cx, cy int32, pTitle string, hWndParent uintptr, ...) *window.Window
- func NewWindowByAttach(hWnd uintptr, XCStyle xcc.Window_Style_) *window.Window
- func NewWindowByHandle(hWindow int) *window.Window
- func NewWindowByLayout(pFileName string, hParent int, hAttachWnd uintptr) *window.Window
- func NewWindowByLayoutEx(pFileName, pPrefixName string, hParent int, hParentWnd, hAttachWnd uintptr) *window.Window
- func NewWindowByLayoutStringW(pStringXML string, hParent int, hAttachWnd uintptr) *window.Window
- func NewWindowByLayoutStringWEx(pStringXML, pPrefixName string, hParent int, hParentWnd, hAttachWnd uintptr) *window.Window
- func NewWindowByLayoutZip(pZipFileName string, pFileName string, pPassword string, hParent int, ...) *window.Window
- func NewWindowByLayoutZipEx(pZipFileName string, pFileName string, pPassword, pPrefixName string, ...) *window.Window
- func NewWindowByLayoutZipMem(data []byte, pFileName string, pPassword string, hParent int, ...) *window.Window
- func NewWindowByLayoutZipMemEx(data []byte, pFileName string, pPassword, pPrefixName string, hParent int, ...) *window.Window
- func NewWindowByLayoutZipResEx(id int32, pFileName, pPassword, pPrefixName string, hParent int, ...) *window.Window
- func NewWindowByName(name string) *window.Window
- func NewWindowByUID(nUID int32) *window.Window
- func NewWindowByUIDName(name string) *window.Window
- func NewWindowEx(dwExStyle, dwStyle uint32, lpClassName string, x, y, cx, cy int32, ...) *window.Window
- type App
- func (a *App) AddFileSearchPath(pPath string) *App
- func (a *App) Alert(pTitle string, pText string) *App
- func (a *App) AnsiToUnicode(pIn uintptr, inLen int32, pOut *string, outLen int32) int32
- func (a *App) AtoUtf8(pValue uintptr) uintptr
- func (a *App) AtoW(pValue uintptr) string
- func (a *App) CallUT(f func())
- func (a *App) CallUiThread(pCall func(data int) int, data int) int
- func (a *App) CallUiThreadEx(pCall func(data int) int, data int) int
- func (a *App) CallUiThreader(u xc.UiThreader, data int) int
- func (a *App) CombineRect(pDest *xc.RECT, pSrc1 *xc.RECT, pSrc2 *xc.RECT) *App
- func (a *App) DebugToFileInfo(pInfo string) *App
- func (a *App) EnableAutoDPI(bEnabel bool) *App
- func (a *App) EnableAutoExitApp(bEnabel bool) *App
- func (a *App) EnableAutoRedrawUI(bEnabel bool) *App
- func (a *App) EnableDPI(bEnabel bool) bool
- func (a *App) EnableDebugFile(bEnable bool) *App
- func (a *App) EnableErrorMessageBox(bEnabel bool) *App
- func (a *App) EnableGdiDrawText(bEnable bool) *App
- func (a *App) EnableResMonitor(bEnable bool) *App
- func (a *App) Exit() *App
- func (a *App) Free(p uintptr) *App
- func (a *App) FreeLibrary(hModule uintptr) bool
- func (a *App) GetD2dFactory() int
- func (a *App) GetDWriteFactory() int
- func (a *App) GetDefaultFont() int
- func (a *App) GetHandleCount() int32
- func (a *App) GetObjectByID(hWindow int, nID int32) int
- func (a *App) GetObjectByIDName(hWindow int, pName string) int
- func (a *App) GetObjectByName(pName string) int
- func (a *App) GetObjectByUID(nUID int32) int
- func (a *App) GetObjectByUIDName(pName string) int
- func (a *App) GetObjectType(hXCGUI int) xcc.XC_OBJECT_TYPE
- func (a *App) GetProcAddress(hModule uintptr, lpProcName string) uintptr
- func (a *App) GetProperty(hXCGUI int, pName string) string
- func (a *App) GetTextShowRect(pString string, length int32, hFontX int, nTextAlign xcc.TextFormatFlag_, ...) *App
- func (a *App) GetTextShowSize(pString string, length int32, hFontX int, pOutSize *xc.SIZE) *App
- func (a *App) GetTextShowSizeEx(pString string, length int32, hFontX int, nTextAlign xcc.TextFormatFlag_, ...) *App
- func (a *App) GetTextSize(pString string, length int32, hFontX int, pOutSize *xc.SIZE) *App
- func (a *App) GetWicFactory() int
- func (a *App) HWindowFromHWnd(hWnd uintptr) int
- func (a *App) InitFont(pFont *xc.LOGFONTW, pName string, size int32, bBold bool, bItalic bool, ...) *App
- func (a *App) IsEnableD2D() bool
- func (a *App) IsHELE(hEle int) bool
- func (a *App) IsHWINDOW(hWindow int) bool
- func (a *App) IsHXCGUI(hXCGUI int, nType xcc.XC_OBJECT_TYPE) bool
- func (a *App) IsSViewExtend(hEle int) bool
- func (a *App) IsShape(hShape int) bool
- func (a *App) LoadDll(pDllFileName string) uintptr
- func (a *App) LoadLayout(pFileName string, hParent int, hAttachWnd uintptr) int
- func (a *App) LoadLayoutEx(pFileName, pPrefixName string, hParent int, hParentWnd, hAttachWnd uintptr) int
- func (a *App) LoadLayoutFromStringW(pStringXML string, hParent int, hAttachWnd uintptr) int
- func (a *App) LoadLayoutFromStringWEx(pStringXML, pPrefixName string, hParent int, hParentWnd, hAttachWnd uintptr) int
- func (a *App) LoadLayoutZip(pZipFileName string, pFileName string, pPassword string, hParent int, ...) int
- func (a *App) LoadLayoutZipEx(pZipFileName string, pFileName string, pPassword, pPrefixName string, ...) int
- func (a *App) LoadLayoutZipMem(data []byte, pFileName string, pPassword string, hParent int, ...) int
- func (a *App) LoadLayoutZipMemEx(data []byte, pFileName string, pPassword, pPrefixName string, hParent int, ...) int
- func (a *App) LoadLayoutZipResEx(id int32, pFileName string, pPassword, pPrefixName string, hParent int, ...) int
- func (a *App) LoadLibrary(lpFileName string) uintptr
- func (a *App) LoadResource(pFileName string) bool
- func (a *App) LoadResourceFromStringW(pStringXML string, pFileName string) bool
- func (a *App) LoadResourceZip(pZipFileName string, pFileName string, pPassword string) bool
- func (a *App) LoadResourceZipMem(data []byte, pFileName string, pPassword string) bool
- func (a *App) LoadResourceZipRes(id int32, pFileName string, pPassword string, hModule uintptr) bool
- func (a *App) LoadStyle(pFileName string) bool
- func (a *App) LoadStyleFromStringW(pFileName string, pString string) bool
- func (a *App) LoadStyleZip(pZipFile string, pFileName string, pPassword string) bool
- func (a *App) LoadStyleZipMem(data []byte, pFileName string, pPassword string) bool
- func (a *App) LoadStyleZipRes(id int32, pFileName string, pPassword string, hModule uintptr) bool
- func (a *App) Malloc(size int32) *App
- func (a *App) MessageBox(pTitle, pText string, nFlags xcc.MessageBox_Flag_, hWndParent uintptr, ...) xcc.MessageBox_Flag_
- func (a *App) Msg_Create(pTitle, pText string, nFlags xcc.MessageBox_Flag_, hWndParent uintptr, ...) int
- func (a *App) Msg_CreateEx(dwExStyle, dwStyle uintptr, lpClassName string, pTitle, pText string, ...) int
- func (a *App) NotifyMsg_Popup(position xcc.Position_Flag_, pTitle, pText string, hIcon int, ...) int
- func (a *App) NotifyMsg_PopupEx(position xcc.Position_Flag_, pTitle, pText string, hIcon int, ...) int
- func (a *App) NotifyMsg_SetBorderSize(hWindow int, left, top, right, bottom int32) *App
- func (a *App) NotifyMsg_SetCaptionHeight(hWindow int, nHeight int32) *App
- func (a *App) NotifyMsg_SetDuration(hWindow int, duration uint32) *App
- func (a *App) NotifyMsg_SetParentMargin(hWindow int, left, top, right, bottom int32) *App
- func (a *App) NotifyMsg_SetSpace(hWindow int, nSpace int32) *App
- func (a *App) NotifyMsg_SetWidth(hWindow int, nWidth int32) *App
- func (a *App) PostMessage(hWindow int, msg uint32, wParam, lParam uintptr) bool
- func (a *App) PostQuitMessage(nExitCode int32) *App
- func (a *App) Print(level int32, pInfo string) *App
- func (a *App) RectInRect(pRect1 *xc.RECT, pRect2 *xc.RECT) bool
- func (a *App) RegisterWindowClassName(pClassName string) bool
- func (a *App) Run() *App
- func (a *App) SendMessage(hWindow int, msg uint32, wParam, lParam uintptr) uintptr
- func (a *App) SetActivateTopWindow() bool
- func (a *App) SetD2dTextRenderingMode(mode xcc.XC_DWRITE_RENDERING_MODE_) *App
- func (a *App) SetDefaultFont(hFontX int) *App
- func (a *App) SetLayoutFrameColor(color int) *App
- func (a *App) SetPaintFrequency(nMilliseconds int32) *App
- func (a *App) SetProperty(hXCGUI int, pName string, pValue string) bool
- func (a *App) SetTextRenderingHint(nType int32) *App
- func (a *App) SetWindowIcon(hImage int) *App
- func (a *App) ShowAndRun(hWindow int) *App
- func (a *App) ShowLayoutFrame(bShow bool) *App
- func (a *App) ShowSvgFrame(bShow bool) *App
- func (a *App) Sys_ShellExecute(hwnd uintptr, lpOperation string, lpFile string, lpParameters string, ...) uintptr
- func (a *App) UnicodeToAnsi(pIn string, inLen int32, pOut uintptr, outLen int32) int32
- func (a *App) Utf8toA(pUtf8 uintptr) uintptr
- func (a *App) Utf8toW(pUtf8 uintptr) string
- func (a *App) Utf8toWEx(pUtf8 uintptr, length int32) string
- func (a *App) WtoA(pValue string) uintptr
- func (a *App) WtoUtf8(pValue string) uintptr
- func (a *App) WtoUtf8Ex(pValue string, length int32) uintptr
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewWindow ¶ added in v1.3.391
func NewWindow(x, y, cx, cy int32, pTitle string, hWndParent uintptr, XCStyle xcc.Window_Style_) *window.Window
NewWindow 窗口_创建.
x: 窗口左上角x坐标.
y: 窗口左上角y坐标.
cx: 窗口宽度.
cy: 窗口高度.
pTitle: 窗口标题.
hWndParent: 父窗口.
XCStyle: 窗口样式: xcc.Window_Style_.
func NewWindowByAttach ¶ added in v1.3.391
func NewWindowByAttach(hWnd uintptr, XCStyle xcc.Window_Style_) *window.Window
NewWindowByAttach 窗口_附加窗口, 返回窗口对象.
hWnd: 要附加的外部窗口句柄.
XCStyle: 窗口样式: xcc.Window_Style_.
func NewWindowByLayout ¶ added in v1.3.391
NewWindowByLayout 从布局文件创建窗口对象, 失败返回nil.
pFileName: 布局文件名.
hParent: 父对象句柄.
hAttachWnd: 附加窗口句柄, 附加到指定的窗口, 可填0.
func NewWindowByLayoutEx ¶ added in v1.3.391
func NewWindowByLayoutEx(pFileName, pPrefixName string, hParent int, hParentWnd, hAttachWnd uintptr) *window.Window
NewWindowByLayoutEx 从布局文件创建窗口对象, 失败返回nil.
pFileName: 布局文件名.
pPrefixName: 名称(name)前缀, 可选参数; 给当前布局文件中所有name属性增加前缀, 那么name属性值为: 前缀 + name.
hParent: 父对象句柄.
hParentWnd: 父窗口句柄HWND, 提供给第三方窗口使用.
hAttachWnd: 附加窗口句柄, 附加到指定的窗口, 可填0.
func NewWindowByLayoutStringW ¶ added in v1.3.391
NewWindowByLayoutStringW 从布局文件字符串W创建窗口对象, 失败返回nil.
pStringXML: 字符串.
hParent: 父对象.
hAttachWnd: 附加窗口句柄, 附加到指定的窗口, 可填0.
func NewWindowByLayoutStringWEx ¶ added in v1.3.391
func NewWindowByLayoutStringWEx(pStringXML, pPrefixName string, hParent int, hParentWnd, hAttachWnd uintptr) *window.Window
NewWindowByLayoutStringWEx 从布局文件字符串W创建窗口对象, 失败返回nil.
pStringXML: 字符串.
pPrefixName: 名称(name)前缀, 可选参数; 给当前布局文件中所有name属性增加前缀, 那么name属性值为: 前缀 + name.
hParent: 父对象.
hParentWnd: 父窗口句柄HWND, 提供给第三方窗口使用.
hAttachWnd: 附加窗口句柄, 附加到指定的窗口, 可填0.
func NewWindowByLayoutZip ¶ added in v1.3.391
func NewWindowByLayoutZip(pZipFileName string, pFileName string, pPassword string, hParent int, hAttachWnd uintptr) *window.Window
NewWindowByLayoutZip 从压缩包中的布局文件创建窗口对象, 失败返回nil.
pZipFileName: zip文件名.
pFileName: 布局文件名.
pPassword: zip密码.
hParent: 父对象句柄.
hAttachWnd: 附加窗口句柄, 附加到指定的窗口, 可填0.
func NewWindowByLayoutZipEx ¶ added in v1.3.391
func NewWindowByLayoutZipEx(pZipFileName string, pFileName string, pPassword, pPrefixName string, hParent int, hParentWnd, hAttachWnd uintptr) *window.Window
NewWindowByLayoutZipEx 从压缩包中的布局文件创建窗口对象, 失败返回nil.
pZipFileName: zip文件名.
pFileName: 布局文件名.
pPassword: zip密码.
pPrefixName: 名称(name)前缀, 可选参数; 给当前布局文件中所有name属性增加前缀, 那么name属性值为: 前缀 + name.
hParent: 父对象句柄.
hParentWnd: 父窗口句柄HWND, 提供给第三方窗口使用.
hAttachWnd: 附加窗口句柄, 附加到指定的窗口, 可填0.
func NewWindowByLayoutZipMem ¶ added in v1.3.391
func NewWindowByLayoutZipMem(data []byte, pFileName string, pPassword string, hParent int, hAttachWnd uintptr) *window.Window
NewWindowByLayoutZipMem 从内存压缩包中的布局文件创建窗口对象, 失败返回nil.
data: 布局文件数据.
pFileName: 布局文件名.
pPassword: zip密码.
hParent: 父对象句柄.
hAttachWnd: 附加窗口句柄, 附加到指定的窗口, 可填0.
func NewWindowByLayoutZipMemEx ¶ added in v1.3.391
func NewWindowByLayoutZipMemEx(data []byte, pFileName string, pPassword, pPrefixName string, hParent int, hParentWnd, hAttachWnd uintptr) *window.Window
NewWindowByLayoutZipMemEx 从内存压缩包中的布局文件创建窗口对象, 失败返回nil.
data: 布局文件数据.
pFileName: 布局文件名.
pPassword: zip密码.
pPrefixName: 名称(name)前缀, 可选参数; 给当前布局文件中所有name属性增加前缀, 那么name属性值为: 前缀 + name.
hParent: 父对象句柄.
hParentWnd: 父窗口句柄HWND, 提供给第三方窗口使用.
hAttachWnd: 附加窗口句柄, 附加到指定的窗口, 可填0.
func NewWindowByLayoutZipResEx ¶ added in v1.3.391
func NewWindowByLayoutZipResEx(id int32, pFileName, pPassword, pPrefixName string, hParent int, hParentWnd, hAttachWnd, hModule uintptr) *window.Window
NewWindowByLayoutZipResEx 从RC资源zip压缩包中的布局文件创建窗口对象, 失败返回nil.
id: RC资源ID.
pFileName: 布局文件名.
pPassword: zip密码.
pPrefixName: 名称(name)前缀, 可选参数; 给当前布局文件中所有name属性增加前缀, 那么name属性值为: 前缀 + name.
hParent: 父对象句柄.
hParentWnd: 父窗口句柄HWND, 提供给第三方窗口使用.
hAttachWnd: 附加窗口句柄, 附加到指定的窗口, 可填0.
hModule: 模块句柄, 可填0.
func NewWindowEx ¶ added in v1.3.391
func NewWindowEx(dwExStyle, dwStyle uint32, lpClassName string, x, y, cx, cy int32, pTitle string, hWndParent uintptr, XCStyle xcc.Window_Style_) *window.Window
NewWindowEx 窗口_创建扩展.
dwExStyle: 窗口扩展样式.
dwStyle: 窗口样式.
lpClassName: 窗口类名.
x: 窗口左上角x坐标.
y: 窗口左上角y坐标.
cx: 窗口宽度.
cy: 窗口高度.
pTitle: 窗口名.
hWndParent: 父窗口.
XCStyle: 窗口样式, xcc.Window_Style_.
Types ¶
type App ¶
type App struct {
}
App 程序. 封装了炫彩的全局API.
func New ¶
New 炫彩_初始化, 失败返回nil. 默认会在程序运行目录和系统system32目录寻找并加载xcgui.dll. 如果你想要更改xcgui.dll的路径, 那么请在调用本函数之前调用 xc.SetXcguiPath().
bD2D: 是否启用D2D.
Example ¶
package main
import (
"github.com/twgh/xcgui/app"
"github.com/twgh/xcgui/window"
"github.com/twgh/xcgui/xcc"
)
func main() {
// 可自定义xcgui.dll的路径, 如无需自定义, 则删掉这句代码.
/* err := xc.SetXcguiPath(`C:\Users\Administrator\Desktop\XCGUI.dll`)
if err != nil {
panic(err)
}*/
a := app.New(true)
w := window.New(0, 0, 500, 500, "", 0, xcc.Window_Style_Default)
w.ShowWindow(xcc.SW_SHOW)
a.Run()
a.Exit()
}
Output:
func (*App) AnsiToUnicode ¶ added in v1.3.360
炫彩_A2U, 返回写入接收缓冲区字符数量.
pIn: 指向待转换的Ansi字符串指针.
inLen: pIn字符数量.
pOut: 指向接收转换后的Unicode字符串缓冲区指针.
outLen: pOut缓冲区大小,字符wchar_t单位.
func (*App) CallUT ¶ added in v1.3.360
func (a *App) CallUT(f func())
CallUT 炫彩_调用界面线程, 调用UI线程, 设置回调函数, 在回调函数里操作UI. 与 CallUiThread 的区别是: 本函数没有2000个回调上限的限制, 回调函数可以直接使用匿名函数. 回调函数没有参数也没有返回值.
f: 回调函数, 没有参数也没有返回值, 可以直接使用匿名函数.
func (*App) CallUiThread ¶
CallUiThread 炫彩_调用界面线程, 调用UI线程, 设置回调函数, 在回调函数里操作UI. 回调函数尽量不要使用匿名函数, 使用匿名函数意味着你每次都在创建1个新的回调, 超过2000个时, 程序必将panic. 如果使用 CallUiThreadEx 和 CallUiThreader 则没有此限制.
pCall: 回调函数.
data: 传进回调函数的用户自定义数据.
func (*App) CallUiThreadEx ¶ added in v1.3.352
CallUiThreadEx 炫彩_调用界面线程, 调用UI线程, 设置回调函数, 在回调函数里操作UI. 与 CallUiThread 的区别是: 本函数没有2000个回调上限的限制, 回调函数可以直接使用匿名函数.
f: 回调函数.
data: 传进回调函数的用户自定义数据.
func (*App) CallUiThreader ¶ added in v1.3.352
func (a *App) CallUiThreader(u xc.UiThreader, data int) int
CallUiThreader 炫彩_调用界面线程, 调用UI线程, 设置回调函数, 在回调函数里操作UI. 与 CallUiThread 的区别是: 本函数没有2000个回调上限的限制, 回调函数可以直接使用匿名函数.
u: xc.UiThreader.
data: 传进回调函数的用户自定义数据.
func (*App) EnableAutoDPI ¶ added in v1.3.380
炫彩_启用自动DPI. 当启用后, 创建窗口时自动检测DPI调整UI缩放, 处理DPI改变消息; 禁用后,当DPI改变,需要手动设置窗口DPI.
bEnabel: 是否启用.
func (*App) EnableAutoExitApp ¶
炫彩_启用自动退出程序, 启动或禁用自动退出程序, 当检测到所有用户创建的窗口都关闭时, 自动退出程序; 可调用 XC_PostQuitMessage() 手动退出程序.
bEnabel: 是否启用.
func (*App) EnableAutoRedrawUI ¶ added in v1.3.390
炫彩_启用自动重绘UI. 当修改UI后将自动调用重绘函数更新UI.
例如改变了按钮标题后, 将自动调用 xc.XEle_Redraw 更新UI, 默认不启用, 手动和自动各有优势.
bEnabel: 是否启用.
func (*App) EnableDPI ¶ added in v1.3.381
炫彩_启用DPI.
为go程序启用DPI的几种方式:
- 调用此函数.
- 使用程序清单文件.
- 自行调用Windows DPI命令.
bEnabel: 是否启用.
func (*App) EnableGdiDrawText ¶
炫彩_启用GDI绘制文本, 将影响到以下函数: XDraw_TextOut, XDraw_TextOutEx, XDraw_TextOutA.
bEnable: 是否启用.
func (*App) GetD2dFactory ¶ added in v1.3.12
炫彩_取D2D工厂, 开启D2D有效, 返回 ID2D1Factory* .
func (*App) GetDWriteFactory ¶ added in v1.3.12
炫彩_取DWrite工厂, 开启D2D有效, 返回 IDWriteFactory* .
func (*App) GetHandleCount ¶ added in v1.3.390
炫彩_取句柄总数. 获取当前所使用的句柄总数量, 返回当前所使用的句柄总数量.
func (*App) GetObjectType ¶
func (a *App) GetObjectType(hXCGUI int) xcc.XC_OBJECT_TYPE
炫彩_取对象类型, 获取句柄类型, 返回: xcc.XC_OBJECT_TYPE, 以XC_开头的常量.
hXCGUI: 炫彩对象句柄.
func (*App) GetProcAddress ¶
炫彩_取动态库中函数地址, 系统API GetProcAddress, 返回函数地址.
hModule: 动态库模块句柄.
lpProcName: 函数名.
func (*App) GetTextShowRect ¶
func (a *App) GetTextShowRect(pString string, length int32, hFontX int, nTextAlign xcc.TextFormatFlag_, width int32, pOutSize *xc.SIZE) *App
GetTextShowRect 炫彩_取文本显示矩形.
pString: 字符串.
length: 字符串长度.
hFontX: 字体.
nTextAlign: 文本对齐: xcc.TextFormatFlag_.
width: 最大宽度.
pOutSize: 接收返回大小.
func (*App) GetTextShowSize ¶
炫彩_取文本显示大小.
pString: 字符串.
length: 字符串长度.
hFontX: 字体.
pOutSize: 接收返回大小.
func (*App) GetTextShowSizeEx ¶
func (a *App) GetTextShowSizeEx(pString string, length int32, hFontX int, nTextAlign xcc.TextFormatFlag_, pOutSize *xc.SIZE) *App
炫彩_取文本显示大小扩展.
pString: 字符串.
length: 字符串长度.
hFontX: 字体.
nTextAlign: 文本对齐方式, TextFormatFlag_, TextAlignFlag_, TextTrimming_.
pOutSize: 接收返回大小.
func (*App) GetWicFactory ¶ added in v1.3.12
炫彩_取WIC工厂, 开启D2D有效, 返回 IWICImagingFactory* .
func (*App) InitFont ¶
func (a *App) InitFont(pFont *xc.LOGFONTW, pName string, size int32, bBold bool, bItalic bool, bUnderline bool, bStrikeOut bool) *App
炫彩_初始化字体, 初始化LOGFONTW结构体.
pFont: LOGFONTW结构体指针.
pName: 字体名称.
size: 字体大小.
bBold: 是否为粗体.
bItalic: 是否为斜体.
bUnderline: 是否有下划线.
bStrikeOut: 是否有删除线.
func (*App) IsHXCGUI ¶
func (a *App) IsHXCGUI(hXCGUI int, nType xcc.XC_OBJECT_TYPE) bool
炫彩_判断句柄包含类型, 判断句柄是否拥有该类型.
hXCGUI: 炫彩句柄.
nType: 句柄类型, XC_OBJECT_TYPE , 以XC_开头的常量.
func (*App) LoadDll ¶
炫彩_加载DLL, 返回DLL模块句柄. 加载指定DLL, 并且调用DLL中函数LoadDll(), DLL中导出函数格式: int32 WINAPI LoadDll().
pDllFileName: DLL文件名.
func (*App) LoadLayout ¶ added in v0.0.3
炫彩_加载布局文件, 返回窗口句柄或布局句柄或元素句柄.
pFileName: 布局文件名.
hParent: 父对象句柄.
hAttachWnd: 附加窗口句柄, 附加到指定的窗口, 可填0.
func (*App) LoadLayoutEx ¶ added in v1.3.370
func (a *App) LoadLayoutEx(pFileName, pPrefixName string, hParent int, hParentWnd, hAttachWnd uintptr) int
炫彩_加载布局文件Ex, 返回窗口句柄或布局句柄或元素句柄.
pFileName: 布局文件名.
pPrefixName: 名称(name)前缀, 可选参数; 给当前布局文件中所有name属性增加前缀, 那么name属性值为: 前缀 + name.
hParent: 父对象句柄, 窗口句柄或UI元素句柄.
hParentWnd: 父窗口句柄HWND, 提供给第三方窗口使用.
hAttachWnd: 附加窗口句柄, 附加到指定的窗口, 可填0.
func (*App) LoadLayoutFromStringW ¶ added in v1.3.340
炫彩_加载布局文件从字符串W, 加载布局文件从内存字符串, 返回窗口句柄或布局句柄或元素句柄.
pStringXML: 字符串.
hParent: 父对象.
hAttachWnd: 附加窗口句柄, 附加到指定的窗口, 可填0.
func (*App) LoadLayoutFromStringWEx ¶ added in v1.3.370
func (a *App) LoadLayoutFromStringWEx(pStringXML, pPrefixName string, hParent int, hParentWnd, hAttachWnd uintptr) int
炫彩_加载布局文件从字符串WEx, 加载布局文件从内存字符串, 返回窗口句柄或布局句柄或元素句柄.
pStringXML: 字符串.
pPrefixName: 名称(name)前缀, 可选参数; 给当前布局文件中所有name属性增加前缀, 那么name属性值为: 前缀 + name.
hParent: 父对象句柄, 窗口句柄或UI元素句柄.
hParentWnd: 父窗口句柄HWND, 提供给第三方窗口使用.
hAttachWnd: 附加窗口句柄, 附加到指定的窗口, 可填0.
func (*App) LoadLayoutZip ¶ added in v0.0.3
func (a *App) LoadLayoutZip(pZipFileName string, pFileName string, pPassword string, hParent int, hAttachWnd uintptr) int
炫彩_加载布局文件ZIP, 加载布局文件从zip压缩包中, 返回窗口句柄或布局句柄或元素句柄.
pZipFileName: zip文件名.
pFileName: 布局文件名.
pPassword: zip密码.
hParent: 父对象句柄.
hAttachWnd: 附加窗口句柄, 附加到指定的窗口, 可填0.
func (*App) LoadLayoutZipEx ¶ added in v1.3.370
func (a *App) LoadLayoutZipEx(pZipFileName string, pFileName string, pPassword, pPrefixName string, hParent int, hParentWnd, hAttachWnd uintptr) int
炫彩_加载布局文件ZIPEx, 加载布局文件从zip压缩包中, 返回窗口句柄或布局句柄或元素句柄.
pZipFileName: zip文件名.
pFileName: 布局文件名.
pPassword: zip密码.
pPrefixName: 名称(name)前缀, 可选参数; 给当前布局文件中所有name属性增加前缀, 那么name属性值为: 前缀 + name.
hParent: 父对象句柄, 窗口句柄或UI元素句柄.
hParentWnd: 父窗口句柄HWND, 提供给第三方窗口使用.
hAttachWnd: 附加窗口句柄, 附加到指定的窗口, 可填0.
func (*App) LoadLayoutZipMem ¶ added in v0.0.3
func (a *App) LoadLayoutZipMem(data []byte, pFileName string, pPassword string, hParent int, hAttachWnd uintptr) int
炫彩_加载布局文件内存ZIP, 加载布局文件从zip压缩包中, 返回窗口句柄或布局句柄或元素句柄.
data: 内存块指针.
pFileName: 布局文件名.
pPassword: zip密码.
hParent: 父对象句柄.
hAttachWnd: 附加窗口句柄, 附加到指定的窗口, 可填0.
func (*App) LoadLayoutZipMemEx ¶ added in v1.3.370
func (a *App) LoadLayoutZipMemEx(data []byte, pFileName string, pPassword, pPrefixName string, hParent int, hParentWnd, hAttachWnd uintptr) int
炫彩_加载布局文件内存ZIPEx, 加载布局文件从zip压缩包中, 返回窗口句柄或布局句柄或元素句柄.
data: 布局文件数据.
pFileName: 布局文件名.
pPassword: zip密码.
pPrefixName: 名称(name)前缀, 可选参数; 给当前布局文件中所有name属性增加前缀, 那么name属性值为: 前缀 + name.
hParent: 父对象句柄, 窗口句柄或UI元素句柄.
hParentWnd: 父窗口句柄HWND, 提供给第三方窗口使用.
hAttachWnd: 附加窗口句柄, 附加到指定的窗口, 可填0.
func (*App) LoadLayoutZipResEx ¶ added in v1.3.380
func (a *App) LoadLayoutZipResEx(id int32, pFileName string, pPassword, pPrefixName string, hParent int, hParentWnd, hAttachWnd, hModule uintptr) int
炫彩_加载布局文件资源ZIP扩展. 加载布局文件从RC资源zip压缩包中, 返回窗口句柄或元素句柄.
id: RC资源ID.
pFileName: 布局文件名.
pPassword: zip密码.
pPrefixName: 名称(name)前缀, 可选参数; 给当前布局文件中所有name属性增加前缀, 那么name属性值为: 前缀 + name.
hParent: 父对象句柄, 窗口句柄或UI元素句柄, 可填0.
hParentWnd: 父窗口句柄HWND, 提供给第三方窗口使用, 可填0.
hAttachWnd: 附加窗口句柄, 附加到指定的窗口, 可填0.
hModule: 模块句柄, 可填0.
func (*App) LoadResourceFromStringW ¶ added in v1.3.340
炫彩_加载资源文件从字符串W.
pStringXML: 字符串.
pFileName: 资源文件名.
func (*App) LoadResourceZip ¶ added in v0.0.3
炫彩_加载资源文件ZIP.
pZipFileName: zip文件名.
pFileName: 资源文件名.
pPassword: zip压缩包密码.
func (*App) LoadResourceZipMem ¶ added in v0.0.3
炫彩_加载资源文件内存ZIP.
data: 资源文件数据.
pFileName: 资源文件名.
pPassword: zip压缩包密码.
func (*App) LoadResourceZipRes ¶ added in v1.3.380
func (a *App) LoadResourceZipRes(id int32, pFileName string, pPassword string, hModule uintptr) bool
炫彩_加载资源文件资源ZIP. 加载资源文件从RC资源zip压缩包中.
id: RC资源ID.
pFileName: 资源文件名.
pPassword: zip压缩包密码.
hModule: 模块句柄, 可填0.
func (*App) LoadStyleFromStringW ¶ added in v1.3.310
炫彩_加载样式文件从字符串W.
pFileName: 样式文件名.
pString: 字符串.
func (*App) LoadStyleZip ¶ added in v0.0.3
炫彩_加载样式文件ZIP.
pZipFile: ZIP文件名.
pFileName: 文件名.
pPassword: 密码.
func (*App) LoadStyleZipMem ¶ added in v0.0.3
炫彩_加载样式文件从内存ZIP.
data: 样式文件数据.
pFileName: 文件名.
pPassword: 密码.
func (*App) LoadStyleZipRes ¶ added in v1.3.380
炫彩_加载样式文件从资源ZIP. 从RC资源中的ZIP包中, 加载样式文件.
id: RC资源ID.
pFileName: 文件名.
pPassword: 密码.
hModule: 模块句柄, 可填0.
func (*App) MessageBox ¶
func (a *App) MessageBox(pTitle, pText string, nFlags xcc.MessageBox_Flag_, hWndParent uintptr, XCStyle xcc.Window_Style_) xcc.MessageBox_Flag_
MessageBox 炫彩_消息框. 返回值如下: xcc.MessageBox_Flag_Ok: 点击确定按钮退出. xcc.MessageBox_Flag_Cancel: 点击取消按钮退出. xcc.MessageBox_Flag_Other: 其他方式退出.
pTitle: 标题.
pText: 内容文本.
nFlags: 标识: xcc.MessageBox_Flag_.
hWndParent: 父窗口句柄(真实的窗口句柄).
XCStyle: xcc.Window_Style_.
func (*App) Msg_Create ¶ added in v1.3.12
func (a *App) Msg_Create(pTitle, pText string, nFlags xcc.MessageBox_Flag_, hWndParent uintptr, XCStyle xcc.Window_Style_) int
Msg_Create 消息框_创建, 返回消息框窗口句柄. 此窗口是一个模态窗口, 弹出窗口请调用 xc.XModalWnd_DoModal().
pTitle: 标题.
pText: 内容文本.
nFlags: 标识: xcc.MessageBox_Flag_.
hWndParent: 父窗口句柄(真实的窗口句柄).
XCStyle: xcc.Window_Style_.
func (*App) Msg_CreateEx ¶ added in v1.3.310
func (a *App) Msg_CreateEx(dwExStyle, dwStyle uintptr, lpClassName string, pTitle, pText string, nFlags xcc.MessageBox_Flag_, hWndParent uintptr, XCStyle xcc.Window_Style_) int
Msg_CreateEx 消息框_创建扩展, 返回消息框窗口句柄. 此窗口是一个模态窗口, 弹出窗口请调用 xc.XModalWnd_DoModal().
dwExStyle: 窗口扩展样式.
dwStyle: 窗口样式.
lpClassName: 窗口类名.
pTitle: 标题.
pText: 内容文本.
nFlags: 标识: xcc.MessageBox_Flag_.
hWndParent: 父窗口句柄(真实的窗口句柄).
XCStyle: xcc.Window_Style_.
func (*App) NotifyMsg_Popup ¶ added in v1.3.310
func (a *App) NotifyMsg_Popup(position xcc.Position_Flag_, pTitle, pText string, hIcon int, skin xcc.NotifyMsg_Skin_) int
通知消息_弹出, 返回窗口句柄, 未实现, 预留接口.
position: 位置, Position_Flag_.
pTitle: 标题.
pText: 内容.
hIcon: 图标.
skin: 外观类型, NotifyMsg_Skin_.
func (*App) NotifyMsg_PopupEx ¶ added in v1.3.310
func (a *App) NotifyMsg_PopupEx(position xcc.Position_Flag_, pTitle, pText string, hIcon int, skin xcc.NotifyMsg_Skin_, bBtnClose, bAutoClose bool, nWidth, nHeight int32) int
通知消息_弹出扩展, 返回窗口句柄, 未实现, 预留接口.
position: 位置, Position_Flag_.
pTitle: 标题.
pText: 内容.
hIcon: 图标.
skin: 外观类型, NotifyMsg_Skin_.
bBtnClose: 是否启用关闭按钮.
bAutoClose: 是否自动关闭.
nWidth: 自定义宽度, -1(使用默认值).
nHeight: 自定义高度, -1(使用默认值).
func (*App) NotifyMsg_SetBorderSize ¶ added in v1.3.310
通知消息_置边大小, 设置通知消息面板边大小.
hWindow: 通知消息所属窗口句柄, 如果未指定那么认为是桌面通知消息.
left: 左边.
top: 顶边.
right: 右边.
bottom: 底边.
func (*App) NotifyMsg_SetCaptionHeight ¶ added in v1.3.310
通知消息_置标题高度.
hWindow: 通知消息所属窗口句柄, 如果未指定那么认为是桌面通知消息.
nHeight: 高度.
func (*App) NotifyMsg_SetDuration ¶ added in v1.3.310
通知消息_置持续时间.
hWindow: 通知消息所属窗口句柄, 如果未指定那么认为是桌面通知消息.
duration: 持续时间.
func (*App) NotifyMsg_SetParentMargin ¶ added in v1.3.310
通知消息_置父边距 设置通知消息与父对象的四边间隔.
hWindow: 通知消息所属窗口句柄, 如果未指定那么认为是桌面通知消息.
left: 左侧间隔, 未实现, 预留功能.
top: 顶部间隔.
right: 右侧间隔.
bottom: 底部间隔, 未实现, 预留功能.
func (*App) NotifyMsg_SetSpace ¶ added in v1.3.310
通知消息_置间隔.
hWindow: 通知消息所属窗口句柄, 如果未指定那么认为是桌面通知消息.
nSpace: 间隔大小.
func (*App) NotifyMsg_SetWidth ¶ added in v1.3.310
通知消息_置宽度, 设置默认宽度.
hWindow: 通知消息所属窗口句柄, 如果未指定那么认为是桌面通知消息.
nWidth: 宽度.
func (*App) RegisterWindowClassName ¶
炫彩_注册窗口类名, 如果是在DLL中使用, 那么DLL卸载时需要注销窗口类名, 否则DLL卸载后, 类名所指向的窗口过程地址失效.
pClassName: 类名.
func (*App) SetActivateTopWindow ¶
SetActivateTopWindow 炫彩_激活窗口, 激活当前进程最上层窗口.
func (*App) SetD2dTextRenderingMode ¶ added in v1.3.12
func (a *App) SetD2dTextRenderingMode(mode xcc.XC_DWRITE_RENDERING_MODE_) *App
炫彩_置D2D文本渲染模式.
mode: 渲染模式, XC_DWRITE_RENDERING_MODE_ .
func (*App) SetWindowIcon ¶ added in v1.3.380
炫彩_置窗口图标. 全局窗口图标, 所有未设置图标的窗口, 都将使用此默认图标.
hImage: 图标句柄.
func (*App) ShowAndRun ¶ added in v1.3.340
ShowAndRun 显示窗口并调用炫彩_运行.
hWindow: 炫彩窗口句柄.
Example ¶
package main
import (
"github.com/twgh/xcgui/app"
"github.com/twgh/xcgui/window"
"github.com/twgh/xcgui/xcc"
)
func main() {
a := app.New(true)
w := window.New(0, 0, 500, 500, "", 0, xcc.Window_Style_Default)
a.ShowAndRun(w.Handle)
a.Exit()
}
Output:
func (*App) Sys_ShellExecute ¶
func (a *App) Sys_ShellExecute(hwnd uintptr, lpOperation string, lpFile string, lpParameters string, lpDirectory string, nShowCmd xcc.SW_) uintptr
对指定文件执行操作. 如果函数成功,则返回大于 32 的值。如果函数失败,则返回指示失败原因的错误值.
hwnd: 用于显示 UI 或错误消息的父窗口的句柄。如果操作与窗口无关,则此值可以为0.
lpOperation: 填“open”则打开lpFlie文档. 其它操作详见: https://docs.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shellexecutew.
lpFile: 想用关联的程序打印或打开的一个程序名或文件名.
lpParameters: 如果lpFile是一个可执行文件,则这个字串包含了传递给执行程序的参数.
lpDirectory: 想使用的默认路径完整路径.
nShowCmd: 定义了如何显示启动程序的常数值: xcc.SW_.
func (*App) UnicodeToAnsi ¶ added in v1.3.360
炫彩_U2A, 返回写入接收缓冲区字节数量.
pIn: 待转换的Unicode字符串.
inLen: pIn字符数量.
pOut: 指向接收转换后的Ansi字符串缓冲区指针.
outLen: pOut缓冲区大小, 字节单位.