func main() { hWindow := xcgui.XWnd_Create(0, 0, 350, 400, "炫彩界面库窗口", 0, xcgui.XC_WINDOW_STYLE_DEFAULT) xcgui.CloseBtn(hWindow) hTree := xcgui.XTree_Create(20, 40, 300, 300, xcgui.HXCGUI(hWindow)) xcgui.XTree_SetItemTemplateXML(hTree, "../xml-template/Tree_Item.xml") hAdapter := xcgui.XAdapterTree_Create() xcgui.XTree_BindAdapter(hTree, hAdapter) xcgui.XAdapterTree_AddColumn(hAdapter, "name") for i := 0; i < 20; i++ { xcgui.XAdapterTree_InsertItemText(hAdapter, "name-"+fmt.Sprint(i)+"-0", xcgui.XC_ID_ROOT, xcgui.XC_ID_LAST) } xcgui.XAdapterTree_InsertItemText(hAdapter, "Item1-----1", 1, xcgui.XC_ID_LAST) // idc1 idc2 := xcgui.XAdapterTree_InsertItemText(hAdapter, "Item1-----2", 1, xcgui.XC_ID_LAST) // idc2 xcgui.XAdapterTree_InsertItemText(hAdapter, "Item1-----2--1", idc2, xcgui.XC_ID_LAST) // idc2-1 xcgui.XEle_RegEventC(hTree, xcgui.XE_TREE_SELECT, xcgui.CallBack(OnTreeSelect)) xcgui.XEle_RegEventC(hTree, xcgui.XE_TREE_EXPAND, xcgui.CallBack(OnTreeExpand)) xcgui.XEle_RegEventC(hTree, xcgui.XE_TREE_TEMP_CREATE, xcgui.CallBack(OnTemplateCreate)) xcgui.XEle_RegEventC(hTree, xcgui.XE_TREE_TEMP_DESTROY, xcgui.CallBack(OnTemplateDestroy)) xcgui.XEle_RegEventC(hTree, xcgui.XE_TREE_TEMP_ADJUST_COORDINATE, xcgui.CallBack(OnTemplateAdjustCoordinate)) xcgui.XWnd_ShowWindow(hWindow, xcgui.SW_SHOW) xcgui.XRunXCGUI() xcgui.XExitXCGUI() }
func main() { hWindow := xcgui.XWnd_Create(0, 0, 300, 300, "炫彩界面库窗口", 0, xcgui.XC_WINDOW_STYLE_DEFAULT) xcgui.CloseBtn(hWindow) hScrollView := xcgui.XSView_Create(20, 50, 200, 200, xcgui.HXCGUI(hWindow)) xcgui.XSView_SetTotalSize(hScrollView, 300, 300) xcgui.XBtn_Create(10, 10, 100, 20, "Button1", xcgui.HXCGUI(hScrollView)) xcgui.XBtn_Create(10, 40, 100, 20, "Button2", xcgui.HXCGUI(hScrollView)) xcgui.XBtn_Create(10, 70, 100, 20, "Button3", xcgui.HXCGUI(hScrollView)) xcgui.XEle_RegEventC(hScrollView, xcgui.XE_SCROLLVIEW_SCROLL_H, xcgui.CallBack(OnScrollViewScrollH)) xcgui.XEle_RegEventC(hScrollView, xcgui.XE_SCROLLVIEW_SCROLL_V, xcgui.CallBack(OnScrollViewScrollV)) xcgui.XWnd_ShowWindow(hWindow, xcgui.SW_SHOW) xcgui.XRunXCGUI() xcgui.XExitXCGUI() }
func main() { hWindow = xcgui.XWnd_Create(100, 100, 400, 300, "炫彩界面库窗口", 0, xcgui.XC_WINDOW_STYLE_DEFAULT) xcgui.XBtn_SetType(xcgui.XBtn_Create(5, 3, 60, 20, "Close", xcgui.HXCGUI(hWindow)), xcgui.BUTTON_TYPE_CLOSE) hButton := xcgui.XBtn_Create(20, 50, 120, 20, "popu-modalWindow", xcgui.HXCGUI(hWindow)) xcgui.XEle_RegEventC(hButton, xcgui.XE_BNCLICK, xcgui.CallBack(OnBtnClick)) xcgui.XWnd_ShowWindow(hWindow, xcgui.SW_SHOW) xcgui.XRunXCGUI() xcgui.XExitXCGUI() }
func main() { hWindow := xcgui.XWnd_Create(0, 0, 500, 400, "炫彩界面库窗口", 0, xcgui.XC_WINDOW_STYLE_DEFAULT) xcgui.CloseBtn(hWindow) hListView := xcgui.XListView_Create(20, 40, 450, 300, xcgui.HXCGUI(hWindow)) xcgui.XListView_SetItemTemplateXML(hListView, "../xml-template/ListView_Item.xml") hAdapter := xcgui.XAdapterListView_Create() xcgui.XAdapterListView_GroupAddColumn(hAdapter, "name3") xcgui.XAdapterListView_ItemAddColumn(hAdapter, "name") xcgui.XAdapterListView_ItemAddColumn(hAdapter, "name2") xcgui.XListView_BindAdapter(hListView, hAdapter) group1 := xcgui.XAdapterListView_GroupAddItemText(hAdapter, "group1") group2 := xcgui.XAdapterListView_GroupAddItemText(hAdapter, "group2") hImage := xcgui.XImage_LoadFile("../img/comma_face_01.png", false) for i := 0; i < 20; i++ { index1 := xcgui.XAdapterListView_ItemAddItemImage(hAdapter, group1, hImage) xcgui.XAdapterListView_ItemSetText(hAdapter, group1, index1, 1, "group1-item-"+fmt.Sprint(i)) index2 := xcgui.XAdapterListView_ItemAddItemImage(hAdapter, group2, hImage) xcgui.XAdapterListView_ItemSetText(hAdapter, group2, index2, 1, "group2-item-"+fmt.Sprint(i)) } xcgui.XEle_RegEventC(hListView, xcgui.XE_LISTVIEW_SELECT, xcgui.CallBack(OnListViewSelect)) xcgui.XEle_RegEventC(hListView, xcgui.XE_LISTVIEW_EXPAND, xcgui.CallBack(OnListViewExpand)) xcgui.XEle_RegEventC(hListView, xcgui.XE_LISTVIEW_TEMP_CREATE, xcgui.CallBack(OnTemplateCreate)) xcgui.XEle_RegEventC(hListView, xcgui.XE_LISTVIEW_TEMP_DESTROY, xcgui.CallBack(OnTemplateDestroy)) xcgui.XEle_RegEventC(hListView, xcgui.XE_LISTVIEW_TEMP_ADJUST_COORDINATE, xcgui.CallBack(OnTemplateAdjustCoordinate)) xcgui.XWnd_ShowWindow(hWindow, xcgui.SW_SHOW) xcgui.XRunXCGUI() xcgui.XExitXCGUI() }
func (b *Button) OnBtnClick(pFunc func()) { var OnBtnClick = func(pbHandled *bool) int { // pbHandled = true 取消, false 继续 // *pbHandled = true pFunc() return 0 } xc.XEle_RegEventC( b.hEle, xc.XE_BNCLICK, syscall.NewCallback(OnBtnClick)) }
func main() { hWindow := xcgui.XWnd_Create(0, 0, 300, 300, "炫彩界面库窗口", 0, xcgui.XC_WINDOW_STYLE_DEFAULT) xcgui.CloseBtn(hWindow) hSBar1 := xcgui.XSBar_Create(20, 50, 200, 20, xcgui.HXCGUI(hWindow)) xcgui.XEle_RegEventC(hSBar1, xcgui.XE_SBAR_SCROLL, xcgui.CallBack(OnSBarScroll)) hSBar2 := xcgui.XSBar_Create(230, 50, 20, 200, xcgui.HXCGUI(hWindow)) xcgui.XSBar_SetHorizon(hSBar2, false) xcgui.XWnd_ShowWindow(hWindow, xcgui.SW_SHOW) xcgui.XRunXCGUI() xcgui.XExitXCGUI() }
func main() { hWindow := xcgui.XWnd_Create(0, 0, 300, 200, "炫彩界面库窗口", 0, xcgui.XC_WINDOW_STYLE_DEFAULT) xcgui.CloseBtn(hWindow) hSliderBar := xcgui.XSliderBar_Create(20, 40, 260, 60, xcgui.HXCGUI(hWindow)) xcgui.XSliderBar_SetRange(hSliderBar, 10) xcgui.XSliderBar_SetButtonHeight(hSliderBar, 27) xcgui.XSliderBar_SetButtonWidth(hSliderBar, 27) xcgui.XSliderBar_SetSpaceTwo(hSliderBar, 10, 10) xcgui.XEle_RegEventC(hSliderBar, xcgui.XE_SLIDERBAR_CHANGE, xcgui.CallBack(OnSliderBarChange)) xcgui.XWnd_ShowWindow(hWindow, xcgui.SW_SHOW) xcgui.XRunXCGUI() xcgui.XExitXCGUI() }
func main() { hWindow := xcgui.XWnd_Create(0, 0, 500, 400, "炫彩界面库窗口", 0, xcgui.XC_WINDOW_STYLE_DEFAULT) xcgui.CloseBtn(hWindow) hListBox = xcgui.XListBox_Create(20, 40, 300, 310, xcgui.HXCGUI(hWindow)) xcgui.XListBox_SetItemTemplateXML(hListBox, "../xml-template/ListBox_Item.xml") xcgui.XSView_SetLineSize(hListBox, 20, 20) hAdapter := xcgui.XAdapterTable_Create() xcgui.XListBox_BindAdapter(hListBox, hAdapter) xcgui.XAdapterTable_AddColumn(hAdapter, "name") xcgui.XAdapterTable_AddColumn(hAdapter, "name2") xcgui.XAdapterTable_AddColumn(hAdapter, "name3") for i := 0; i < 20; i++ { index := xcgui.XAdapterTable_AddItemTextEx(hAdapter, "name", "item-"+fmt.Sprint(i)) if index != xcgui.XC_ID_ERROR { xcgui.XAdapterTable_SetItemTextEx(hAdapter, index, "name2", "item-1-"+fmt.Sprint(i)) xcgui.XAdapterTable_SetItemTextEx(hAdapter, index, "name3", "item-2-"+fmt.Sprint(i)) } } hButton1 := xcgui.XBtn_Create(330, 40, 150, 18, "插入", xcgui.HXCGUI(hWindow)) xcgui.XEle_RegEventC(hButton1, xcgui.XE_BNCLICK, xcgui.CallBack(OnBtnClickAdd)) hButton2 := xcgui.XBtn_Create(330, 60, 150, 18, "删除", xcgui.HXCGUI(hWindow)) xcgui.XEle_RegEventC(hButton2, xcgui.XE_BNCLICK, xcgui.CallBack(OnBtnClickDel)) hButton3 := xcgui.XBtn_Create(330, 84, 150, 18, "删除 index=(1-3)", xcgui.HXCGUI(hWindow)) xcgui.XEle_RegEventC(hButton3, xcgui.XE_BNCLICK, xcgui.CallBack(OnBtnClickDelEx)) hRichEidt = xcgui.XRichEdit_Create(330, 106, 120, 200, xcgui.HXCGUI(hWindow)) xcgui.XSView_ShowSBarV(hRichEidt, true) xcgui.XRichEdit_EnableMultiLine(hRichEidt, true) xcgui.XEle_RegEventC(hListBox, xcgui.XE_LISTBOX_TEMP_CREATE_END, xcgui.CallBack(OnTemplateCreate)) xcgui.XEle_RegEventC(hListBox, xcgui.XE_LISTBOX_TEMP_DESTROY, xcgui.CallBack(OnTemplateDestroy)) xcgui.XEle_RegEventC(hListBox, xcgui.XE_LISTBOX_TEMP_ADJUST_COORDINATE, xcgui.CallBack(OnTemplateAdjustCoordinate)) xcgui.XEle_RegEventC(hListBox, xcgui.XE_LISTBOX_SELECT, xcgui.CallBack(OnListBoxSelect)) xcgui.XWnd_ShowWindow(hWindow, xcgui.SW_SHOW) xcgui.XRunXCGUI() xcgui.XExitXCGUI() }
func main() { hWindow := xcgui.XWnd_Create(0, 0, 300, 200, "炫彩界面库窗口", 0, xcgui.XC_WINDOW_STYLE_DEFAULT) xcgui.CloseBtn(hWindow) hProgressBar = xcgui.XProgBar_Create(20, 40, 260, 20, xcgui.HXCGUI(hWindow)) xcgui.XProgBar_SetRange(hProgressBar, 100) xcgui.XProgBar_SetPos(hProgressBar, 50) xcgui.XProgBar_SetSpaceTwo(hProgressBar, 10, 10) hButtonAdd = xcgui.XBtn_Create(20, 70, 50, 18, "+", xcgui.HXCGUI(hWindow)) hButtonMunus := xcgui.XBtn_Create(80, 70, 50, 18, "-", xcgui.HXCGUI(hWindow)) xcgui.XEle_RegEventC1(hButtonAdd, xcgui.XE_BNCLICK, xcgui.CallBack(OnBtnClick)) xcgui.XEle_RegEventC1(hButtonMunus, xcgui.XE_BNCLICK, xcgui.CallBack(OnBtnClick)) xcgui.XEle_RegEventC(hProgressBar, xcgui.XE_PROGRESSBAR_CHANGE, xcgui.CallBack(OnProgressBarChange)) xcgui.XWnd_ShowWindow(hWindow, xcgui.SW_SHOW) xcgui.XRunXCGUI() xcgui.XExitXCGUI() }
func main() { xcgui.XInitXCGUI() hwnd := xcgui.XWnd_Create(400, 200, 300, 200, "标题", xcgui.NULL, xcgui.XC_WINDOW_STYLE_DEFAULT) parent := xcgui.HXCGUI(hwnd) //button btn := xcgui.XBtn_Create(10, 5, 80, 22, "关闭", parent) xcgui.XBtn_SetType(btn, xcgui.BUTTON_TYPE_CLOSE) //监听btn事件 xcgui.XEle_RegEventC(btn, xcgui.XE_BNCLICK, syscall.NewCallback(OnBtnClick)) //label lb := xcgui.XShapeText_Create(50, 100, 100, 22, "hello world!", parent) xcgui.XShapeText_SetText(lb, "hello 世界!") xcgui.XShapeText_SetTextColor(lb, 0xff0000, 255) //取text及长度 str := xcgui.XShapeText_GetTextGo(lb) fmt.Println(str) fmt.Println(xcgui.XShapeText_GetTextLength(lb)) xcgui.XWnd_ShowWindow(hwnd, xcgui.SW_SHOW) xcgui.XRunXCGUI() xcgui.XExitXCGUI() }
func main() { xcgui.XC_LoadResource("xml/resource.xml", "") hxcgui := xcgui.XC_LoadLayout("xml/layout.xml", 0) hWindow = xcgui.HWINDOW(hxcgui) xcgui.XWnd_AdjustLayout(hWindow) // 后退 hGoBack = xcgui.XC_GetObjectByID(130) // xcgui.XEle_RegEventC1(xcgui.HELE(hGoBack), xcgui.XE_BNCLICK, xcgui.CallBack(onBtnClick)) xcgui.XEle_RegEventC1(xcgui.HELE(hGoBack), xcgui.XE_BNCLICK, xcgui.CallBackGo(func() { fmt.Println("后退中...") web.XWeb_GoBack(hWeb) })) // url地址栏 hEditUrl = xcgui.XC_GetObjectByID(131) xcgui.XEle_EnableSwitchFocus(xcgui.HELE(hEditUrl), true) xcgui.XEle_RegEventC(xcgui.HELE(hEditUrl), xcgui.XE_CHAR, xcgui.CallBack(onEventChar)) // 解决焦点丢失问题 xcgui.XEle_RegEventC(xcgui.HELE(hEditUrl), xcgui.XE_LBUTTONDOWN, xcgui.CallBack(onLButtonDown)) // 前进 hGoForward = xcgui.XC_GetObjectByID(132) xcgui.XEle_RegEventC1(xcgui.HELE(hGoForward), xcgui.XE_BNCLICK, xcgui.CallBack(onBtnClick)) // 浏览器body区 xcgui.XWnd_GetBodyRect(hWindow, &rtBody) hWeb = web.XWeb_Create( int(rtBody.Left), int(rtBody.Top), int(rtBody.Right-rtBody.Left), int(rtBody.Bottom-rtBody.Top), xcgui.XWnd_GetHWND(hWindow)) // 更多 hMenuBar = xcgui.XC_GetObjectByID(133) xcgui.XMenuBar_AddButton(xcgui.HELE(hMenuBar), "更多") hMenu = xcgui.XMenuBar_GetMenu(xcgui.HELE(hMenuBar), 0) if hMenu != 0 { xcgui.XMenu_AddItem(hMenu, 1330, "主页", 0, 0) xcgui.XMenu_AddItem(hMenu, 1331, "重新载入", 0, 0) xcgui.XMenu_AddItem(hMenu, 1332, "停止载入", 0, 0) xcgui.XMenu_AddItem(hMenu, 1333, "代理加载谷歌", 0, 0) xcgui.XMenu_AddItem(hMenu, 1334, "放大", 0, 0) xcgui.XMenu_AddItem(hMenu, 1335, "缩小", 0, 0) xcgui.XMenu_AddItem(hMenu, 1336, "恢复缩放", 0, 0) xcgui.XMenu_AddItem(hMenu, 1337, "获取Cookie", 0, 0) xcgui.XMenu_AddItem(hMenu, 1338, "js调用vs函数", 0, 0) xcgui.XMenu_AddItem(hMenu, 1340, "设置网页可编辑", 0, 0) xcgui.XMenu_AddItem(hMenu, 1341, "设置网页不可编辑", 0, 0) xcgui.XMenu_AddItem(hMenu, 1351, "执行js脚本", 0, 0) xcgui.XMenu_AddItem(hMenu, 1352, "取浏览器状态", 0, 0) xcgui.XMenu_AddItem(hMenu, 1353, "js模拟填写", 0, 0) xcgui.XMenu_AddItem(hMenu, 1360, "关于", 0, 0) } // 菜单选择 xcgui.XEle_RegEventC(xcgui.HELE(hMenuBar), xcgui.XE_MENU_SELECT, xcgui.CallBack(onWndMenuSelect)) // 默认打开百度 web.XWeb_LoadUrl(hWeb, "http://www.baidu.com") // URL变化 web.XWeb_OnURLChanged(hWeb, xcgui.CallBack(onURLChanged), 1) // Title 变化修改状态栏 hState = xcgui.XC_GetObjectByID(311) web.XWeb_OnTitleChanged(hWeb, xcgui.CallBack(onTitleChanged), 1) // 窗口变化web窗体自适应 xcgui.XWnd_RegEventC(hWindow, xcgui.WM_SIZE, xcgui.CallBack(OnWndSize)) xcgui.XWnd_ShowWindow(hWindow, xcgui.SW_SHOW) xcgui.XRunXCGUI() xcgui.XExitXCGUI() }