Documentation
¶
Overview ¶
Package app 程序(炫彩全局API).
Index ¶
- type App
- func (a *App) AddFileSearchPath(pPath string) int
- func (a *App) Alert(pTitle string, pText string) int
- func (a *App) AtoUtf8(pValue uintptr) uintptr
- func (a *App) AtoW(pValue uintptr) string
- func (a *App) CallUiThread(pCall func(data int) int, data int) int
- func (a *App) CombineRect(pDest *xc.RECT, pSrc1 *xc.RECT, pSrc2 *xc.RECT) int
- func (a *App) DebugToFileInfo(pInfo string) int
- func (a *App) EnableAutoExitApp(bEnabel bool) int
- func (a *App) EnableDebugFile(bEnable bool) int
- func (a *App) EnableErrorMessageBox(bEnabel bool) int
- func (a *App) EnableGdiDrawText(bEnable bool) int
- func (a *App) EnableResMonitor(bEnable bool) int
- func (a *App) Exit() int
- func (a *App) Free(p int) int
- func (a *App) FreeLibrary(hModule int) bool
- func (a *App) GetD2dFactory() int
- func (a *App) GetDWriteFactory() int
- func (a *App) GetDefaultFont() int
- func (a *App) GetObjectByID(hWindow int, nID int) int
- func (a *App) GetObjectByIDName(hWindow int, pName string) int
- func (a *App) GetObjectByName(pName string) int
- func (a *App) GetObjectByUID(nUID int) int
- func (a *App) GetObjectByUIDName(pName string) int
- func (a *App) GetObjectType(hXCGUI int) xcc.XC_OBJECT_TYPE
- func (a *App) GetProcAddress(hModule int, lpProcName string) int
- func (a *App) GetProperty(hXCGUI int, pName string) string
- func (a *App) GetTextShowRect(pString string, length int, hFontX int, nTextAlign xcc.TextFormatFlag_, ...) int
- func (a *App) GetTextShowSize(pString string, length int, hFontX int, pOutSize *xc.SIZE) int
- func (a *App) GetTextShowSizeEx(pString string, length int, hFontX int, nTextAlign xcc.TextFormatFlag_, ...) int
- func (a *App) GetTextSize(pString string, length int, hFontX int, pOutSize *xc.SIZE) int
- func (a *App) GetWicFactory() int
- func (a *App) HWindowFromHWnd(hWnd int) int
- func (a *App) InitFont(pFont *xc.LOGFONTW, pName string, size int, bBold bool, bItalic bool, ...) int
- 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) int
- func (a *App) LoadLayout(pFileName string, hParent, hAttachWnd int) int
- func (a *App) LoadLayoutFromStringW(pStringXML string, hParent, hAttachWnd int) int
- func (a *App) LoadLayoutZip(pZipFileName string, pFileName string, pPassword string, ...) int
- func (a *App) LoadLayoutZipMem(data []byte, pFileName string, pPassword string, hParent, hAttachWnd int) int
- func (a *App) LoadLibrary(lpFileName string) int
- 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) 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) Malloc(size int) int
- func (a *App) MessageBox(pTitle, pText string, nFlags xcc.MessageBox_Flag_, hWndParent int, ...) xcc.MessageBox_Flag_
- func (a *App) Msg_Create(pTitle, pText string, nFlags xcc.MessageBox_Flag_, hWndParent int, ...) int
- func (a *App) Msg_CreateEx(dwExStyle int, dwStyle int, 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, left, top, right, bottom int) int
- func (a *App) NotifyMsg_SetCaptionHeight(hWindow, nHeight int) int
- func (a *App) NotifyMsg_SetDuration(hWindow, duration int) int
- func (a *App) NotifyMsg_SetParentMargin(hWindow, left, top, right, bottom int) int
- func (a *App) NotifyMsg_SetSpace(hWindow, nSpace int) int
- func (a *App) NotifyMsg_SetWidth(hWindow, nWidth int) int
- func (a *App) PostMessage(hWindow int, msg int, wParam int, lParam int) bool
- func (a *App) PostQuitMessage(nExitCode int) int
- func (a *App) Print(level int, pInfo string) int
- func (a *App) RectInRect(pRect1 *xc.RECT, pRect2 *xc.RECT) bool
- func (a *App) RegisterWindowClassName(pClassName string) bool
- func (a *App) Run() int
- func (a *App) SendMessage(hWindow int, msg int, wParam int, lParam int) int
- func (a *App) SetActivateTopWindow() bool
- func (a *App) SetD2dTextRenderingMode(mode xcc.XC_DWRITE_RENDERING_MODE_) int
- func (a *App) SetDefaultFont(hFontX int) int
- func (a *App) SetLayoutFrameColor(color int) int
- func (a *App) SetPaintFrequency(nMilliseconds int) int
- func (a *App) SetProperty(hXCGUI int, pName string, pValue string) bool
- func (a *App) SetTextRenderingHint(nType int) int
- func (a *App) ShowAndRun(hWindow int)
- func (a *App) ShowLayoutFrame(bShow bool) int
- func (a *App) ShowSvgFrame(bShow bool) int
- func (a *App) Sys_ShellExecute(hwnd int, lpOperation string, lpFile string, lpParameters string, ...) int
- func (a *App) Utf8toA(pUtf8 uintptr) uintptr
- func (a *App) Utf8toW(pUtf8 uintptr) string
- func (a *App) Utf8toWEx(pUtf8 uintptr, length int) string
- func (a *App) WtoA(pValue string) uintptr
- func (a *App) WtoUtf8(pValue string) uintptr
- func (a *App) WtoUtf8Ex(pValue string, length int) uintptr
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type App ¶
type App struct {
}
App 程序. 封装了炫彩的全局API.
func New ¶
New 炫彩_初始化, 失败返回nil.
@Description 默认会在程序运行目录和系统目录寻找并加载xcgui.dll. 如果你想要更改xcgui.dll的路径, 那么请在调用本函数之前调用 xc.SetXcguiPath(). @param bD2D 是否启用D2D. @return *App
Example ¶
package main
import (
"gitee.com/wengo/windows_gui/app"
"gitee.com/wengo/windows_gui/window"
"gitee.com/wengo/windows_gui/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.NewWindow(0, 0, 500, 500, "", 0, xcc.Window_Style_Default)
w.ShowWindow(xcc.SW_SHOW)
a.Run()
a.Exit()
}
Output:
func (*App) DebugToFileInfo ¶
DebugToFileInfo 炫彩_输出调试信息到文件, 打印调试信息到文件xcgui_debug.txt.
@param pInfo 文本. @return int
func (*App) EnableAutoExitApp ¶
炫彩_启用自动退出程序, 启动或禁用自动退出程序, 当检测到所有用户创建的窗口都关闭时, 自动退出程序; 可调用 XC_PostQuitMessage() 手动退出程序.
bEnabel: 是否启用.
func (*App) EnableGdiDrawText ¶
炫彩_启用GDI绘制文本, 将影响到以下函数: XDraw_TextOut, XDraw_TextOutEx, XDraw_TextOutA.
bEnable: 是否启用.
func (*App) GetD2dFactory ¶
炫彩_取D2D工厂, 开启D2D有效, 返回 ID2D1Factory* .
func (*App) GetDWriteFactory ¶
炫彩_取DWrite工厂, 开启D2D有效, 返回 IDWriteFactory* .
func (*App) GetObjectType ¶
func (a *App) GetObjectType(hXCGUI int) xcc.XC_OBJECT_TYPE
炫彩_取对象类型, 获取句柄类型, 返回: XC_OBJECT_TYPE.
hXCGUI: 炫彩对象句柄.
func (*App) GetProcAddress ¶
炫彩_取动态库中函数地址, 系统API GetProcAddress, 返回函数地址.
hModule: 动态库模块句柄.
lpProcName: 函数名.
func (*App) GetTextShowRect ¶
func (a *App) GetTextShowRect(pString string, length int, hFontX int, nTextAlign xcc.TextFormatFlag_, width int, pOutSize *xc.SIZE) int
GetTextShowRect 炫彩_取文本显示矩形.
@param pString 字符串. @param length 字符串长度. @param hFontX 字体. @param nTextAlign 文本对齐: xcc.TextFormatFlag_. @param width 最大宽度. @param pOutSize 接收返回大小. @return int
func (*App) GetTextShowSize ¶
炫彩_取文本显示大小.
pString: 字符串.
length: 字符串长度.
hFontX: 字体.
pOutSize: 接收返回大小.
func (*App) GetTextShowSizeEx ¶
func (a *App) GetTextShowSizeEx(pString string, length int, hFontX int, nTextAlign xcc.TextFormatFlag_, pOutSize *xc.SIZE) int
炫彩_取文本显示大小扩展.
pString: 字符串.
length: 字符串长度.
hFontX: 字体.
nTextAlign: 文本对齐方式, TextFormatFlag_, TextAlignFlag_, TextTrimming_.
pOutSize: 接收返回大小.
func (*App) GetWicFactory ¶
炫彩_取WIC工厂, 开启D2D有效, 返回 IWICImagingFactory* .
func (*App) InitFont ¶
func (a *App) InitFont(pFont *xc.LOGFONTW, pName string, size int, bBold bool, bItalic bool, bUnderline bool, bStrikeOut bool) int
炫彩_初始化字体, 初始化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中导出函数格式: int WINAPI LoadDll().
pDllFileName: DLL文件名.
func (*App) LoadLayout ¶
炫彩_加载布局文件, 返回窗口句柄或布局句柄或元素句柄.
pFileName: 布局文件名.
hParent: 父对象句柄.
hAttachWnd: 附加窗口句柄, 附加到指定的窗口, 可填0.
func (*App) LoadLayoutFromStringW ¶
炫彩_加载布局文件从字符串W, 加载布局文件从内存字符串, 返回窗口句柄或布局句柄或元素句柄.
pStringXML: 字符串.
hParent: 父对象.
hAttachWnd: 附加窗口句柄, 附加到指定的窗口, 可填0.
func (*App) LoadLayoutZip ¶
func (a *App) LoadLayoutZip(pZipFileName string, pFileName string, pPassword string, hParent, hAttachWnd int) int
炫彩_加载布局文件ZIP, 加载布局文件从zip压缩包中, 返回窗口句柄或布局句柄或元素句柄.
pZipFileName: zip文件名.
pFileName: 布局文件名.
pPassword: zip密码.
hParent: 父对象句柄.
hAttachWnd: 附加窗口句柄, 附加到指定的窗口, 可填0.
func (*App) LoadLayoutZipMem ¶
func (a *App) LoadLayoutZipMem(data []byte, pFileName string, pPassword string, hParent, hAttachWnd int) int
炫彩_加载布局文件内存ZIP, 加载布局文件从zip压缩包中, 返回窗口句柄或布局句柄或元素句柄.
data: 内存块指针.
pFileName: 布局文件名.
pPassword: zip密码.
hParent: 父对象句柄.
hAttachWnd: 附加窗口句柄, 附加到指定的窗口, 可填0.
func (*App) LoadResourceZip ¶
炫彩_加载资源文件ZIP.
pZipFileName: zip文件名.
pFileName: 资源文件名.
pPassword: zip压缩包密码.
func (*App) LoadResourceZipMem ¶
炫彩_加载资源文件内存ZIP.
data: 资源文件数据.
pFileName: 资源文件名.
pPassword: zip压缩包密码.
func (*App) MessageBox ¶
func (a *App) MessageBox(pTitle, pText string, nFlags xcc.MessageBox_Flag_, hWndParent int, XCStyle xcc.Window_Style_) xcc.MessageBox_Flag_
MessageBox 炫彩_消息框.
@param pTitle 标题. @param pText 内容文本. @param nFlags 标识: xcc.MessageBox_Flag_. @param XCStyle xcc.Window_Style_. @return xcc.MessageBox_Flag_. 返回: xcc.MessageBox_Flag_Ok: 点击确定按钮退出. xcc.MessageBox_Flag_Cancel: 点击取消按钮退出. xcc.MessageBox_Flag_Other: 其他方式退出.
func (*App) Msg_Create ¶
func (a *App) Msg_Create(pTitle, pText string, nFlags xcc.MessageBox_Flag_, hWndParent int, XCStyle xcc.Window_Style_) int
Msg_Create 消息框_创建, 此窗口是一个模态窗口, 弹出窗口请调用 XModalWnd_DoModal().
@param pTitle 标题. @param pText 内容文本. @param nFlags 标识: xcc.MessageBox_Flag_. @param hWndParent 父窗口句柄(真实的窗口句柄). @param XCStyle xcc.Window_Style_. @return int 返回消息框窗口句柄.
func (*App) Msg_CreateEx ¶
func (a *App) Msg_CreateEx(dwExStyle int, dwStyle int, lpClassName string, pTitle, pText string, nFlags xcc.MessageBox_Flag_, hWndParent int, XCStyle xcc.Window_Style_) int
Msg_CreateEx 消息框_创建扩展, 此窗口是一个模态窗口, 弹出窗口请调用 XModalWnd_DoModal().
@param dwExStyle 窗口扩展样式. @param dwStyle 窗口样式. @param lpClassName 窗口类名. @param pTitle 标题. @param pText 内容文本. @param nFlags 标识: xcc.MessageBox_Flag_. @param hWndParent 父窗口句柄(真实的窗口句柄). @param XCStyle xcc.Window_Style_. @return int 消息框窗口句柄.
func (*App) NotifyMsg_Popup ¶
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 ¶
func (a *App) NotifyMsg_PopupEx(position xcc.Position_Flag_, pTitle, pText string, hIcon int, skin xcc.NotifyMsg_Skin_, bBtnClose, bAutoClose bool, nWidth, nHeight int) int
通知消息_弹出扩展, 未实现, 预留接口.
position: 位置, Position_Flag_.
pTitle: 标题.
pText: 内容.
hIcon: 图标.
skin: 外观类型, NotifyMsg_Skin_.
bBtnClose: 是否启用关闭按钮.
bAutoClose: 是否自动关闭.
nWidth: 自定义宽度, -1(使用默认值).
nHeight: 自定义高度, -1(使用默认值).
func (*App) NotifyMsg_SetBorderSize ¶
通知消息_置边大小, 设置通知消息面板边大小.
hWindow: 通知消息所属窗口句柄, 如果未指定那么认为是桌面通知消息.
left: 左边.
top: 顶边.
right: 右边.
bottom: 底边.
func (*App) NotifyMsg_SetCaptionHeight ¶
通知消息_置标题高度.
hWindow: 通知消息所属窗口句柄, 如果未指定那么认为是桌面通知消息.
nHeight: 高度.
func (*App) NotifyMsg_SetDuration ¶
通知消息_置持续时间.
hWindow: 通知消息所属窗口句柄, 如果未指定那么认为是桌面通知消息.
duration: 持续时间.
func (*App) NotifyMsg_SetParentMargin ¶
通知消息_置父边距 设置通知消息与父对象的四边间隔.
hWindow: 通知消息所属窗口句柄, 如果未指定那么认为是桌面通知消息.
left: 左侧间隔, 未实现, 预留功能.
top: 顶部间隔.
right: 右侧间隔.
bottom: 底部间隔, 未实现, 预留功能.
func (*App) NotifyMsg_SetWidth ¶
通知消息_置宽度, 设置默认宽度.
hWindow: 通知消息所属窗口句柄, 如果未指定那么认为是桌面通知消息.
nWidth: 宽度.
func (*App) RegisterWindowClassName ¶
炫彩_注册窗口类名, 如果是在DLL中使用, 那么DLL卸载时需要注销窗口类名, 否则DLL卸载后, 类名所指向的窗口过程地址失效.
pClassName: 类名.
func (*App) SetD2dTextRenderingMode ¶
func (a *App) SetD2dTextRenderingMode(mode xcc.XC_DWRITE_RENDERING_MODE_) int
炫彩_置D2D文本渲染模式.
mode: 渲染模式, XC_DWRITE_RENDERING_MODE_ .
func (*App) ShowAndRun ¶
ShowAndRun 显示窗口并调用炫彩_运行.
@param hWindow 炫彩窗口句柄.
Example ¶
package main
import (
"gitee.com/wengo/windows_gui/app"
"gitee.com/wengo/windows_gui/window"
"gitee.com/wengo/windows_gui/xcc"
)
func main() {
a := app.New(true)
w := window.NewWindow(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 int, lpOperation string, lpFile string, lpParameters string, lpDirectory string, nShowCmd xcc.SW_) int
对指定文件执行操作. 如果函数成功,则返回大于 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_.