{"id":20199378,"url":"https://github.com/whtiehack/wingui","last_synced_at":"2025-04-11T14:32:40.677Z","repository":{"id":46104812,"uuid":"206737581","full_name":"whtiehack/wingui","owner":"whtiehack","description":"Golang GUI library for windows, UI created by ResEdit or Visual Studio Resource Editor","archived":false,"fork":false,"pushed_at":"2025-04-01T11:24:28.000Z","size":742,"stargazers_count":135,"open_issues_count":2,"forks_count":24,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-01T12:28:36.263Z","etag":null,"topics":["go","gui","gui-library","gui-toolkit","resedit","resource-editor","win32","windows","windows-desktop","wingui"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/whtiehack.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-09-06T07:24:16.000Z","updated_at":"2025-04-01T11:24:31.000Z","dependencies_parsed_at":"2022-09-26T21:20:41.867Z","dependency_job_id":"711339d0-8edf-4f3d-bb06-9d5bc62c5c21","html_url":"https://github.com/whtiehack/wingui","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/whtiehack%2Fwingui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/whtiehack%2Fwingui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/whtiehack%2Fwingui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/whtiehack%2Fwingui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/whtiehack","download_url":"https://codeload.github.com/whtiehack/wingui/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248419648,"owners_count":21100213,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["go","gui","gui-library","gui-toolkit","resedit","resource-editor","win32","windows","windows-desktop","wingui"],"created_at":"2024-11-14T04:37:18.260Z","updated_at":"2025-04-11T14:32:40.672Z","avatar_url":"https://github.com/whtiehack.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\n# Windows GUI Library  - wingui\n\n![GitHub](https://img.shields.io/github/license/whtiehack/wingui)\n[![Go Report Card](https://goreportcard.com/badge/github.com/whtiehack/wingui)](https://goreportcard.com/report/github.com/whtiehack/wingui)\n[![GoDoc](https://img.shields.io/badge/Godoc-reference-blue.svg)](https://godoc.org/github.com/whtiehack/wingui)\n![GitHub All Releases](https://img.shields.io/github/downloads/whtiehack/wingui/total)\n\n\n[![Actions Status](https://github.com/whtiehack/wingui/workflows/Build%20Check/badge.svg?branch=master\u0026event=push)](https://github.com/whtiehack/wingui/actions)\n\nGolang GUI library for windows, UI created by ResEdit or Visual Studio Resource Editor\n\nLightweight, high performance and small executable file size Windows GUI library.\n\n# UI Design tool\n\n\u003e ResEdit\n\n\u003e Visual Studio Resource Editor\n\n\u003e Other dialog box editor\n\n\n\n\n# Requires\n\n### GCC (Optionally, windres.exe can be used to generate a syso file from res or rc.)\n\nMinGW\nhttp://www.mingw.org\n\nor \n\nTDM-GCC\nhttp://tdm-gcc.tdragon.net/\n\n\n#### windres.exe\n\nThis tool in `TDM-GCC-64/bin/windres.exe`,don't know where in MinGW.\n\nYou can also use rc.exe and link.exe to generate syso file.\n\n# Usage\n\n### Simple usage:\n\n\u003e example for https://github.com/whtiehack/wingui/tree/master/examples/simple\n\nGenerate `x.syso` file from rc or res file use `windres.exe` tool.\n\ngenerate `syso` file:\n\n`windres -i emptyProject/Debug/resource.res -O coff -o vsui.syso`\n\nor\n\n`windres -i ui/ui.rc -O coff -o ui.syso`\n\n\nmain.go\n```go\npackage main\n\nimport \"github.com/whtiehack/wingui\"\n\nfunc main() {\n\tdlg, _ := wingui.NewDialog(101, 0, nil)\n\tdlg.SetIcon(105)\n\tbtnok, _ := wingui.BindNewButton(1002, dlg)\n\tbtncancel, _ := wingui.BindNewButton(1003, dlg)\n\tbtnok.OnClicked = func() {\n\t\tdlg.Close()\n\t}\n\tbtncancel.OnClicked = btnok.OnClicked\n\tdlg.Show()\n\t// This invoke is optional.\n\twingui.SetCurrentDialog(dlg.Handle())\n\twingui.MessageLoop()\n}\n\n\n```\n\n\nrun:\n`go run .`\n\nDon't use `go run main.go`, because golang can't load x.syso files.\n\n\n\n\n[More examples](https://github.com/whtiehack/wingui/tree/master/examples)\n\n# Examples\n\nsee https://github.com/whtiehack/wingui/tree/master/examples\n\nWelcome PRs.\n\n\n# References \n\nhttps://github.com/lxn/walk\n\nhttps://github.com/sumorf/gowi\n\n\nhttps://docs.microsoft.com/zh-cn/windows/win32/\n\nhttps://docs.microsoft.com/zh-cn/windows/win32/uxguide/controls\n\nhttps://docs.microsoft.com/zh-cn/windows/win32/controls/window-controls\n\n# Screenshot\n\n\n\n### ResEdit\n![resedit](res/resedit.png)\n\n![wowjump](res/wowjumpres.png)\n[ResEdit Download](http://www.resedit.net/)\n\n\n### Visual Studio Resource Editor\n\n![vsreseditor](res/vsreseditor.png)\n\n\n\n### Effect\n![resedit](res/resedit_show.png)\n\n![wowjump](res/wowjump.png)\n\n### File size\n![size](res/size.png)\n\n\n\n# TODOs\n\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003e click to show \u003c/b\u003e \u003c/summary\u003e\u003cbr\u003e\n\n\n- [x] Edit\n- [x] Static Text\n\n- [x] Image\n- [x] ComboBoxx\n- [x] ListBox\n\n-----\n\n##### Button\n- [x] PushButton\n- [x] CheckBox\n- [x] Radio Button\n\n-----\n- [x] Slider Control\n- [x] Progress Bar\n- [ ] Tab Control\n\n- [ ] ListView Control\n\n- [ ] Spin Control\n\n- [ ] Rich Edit\n\n- [ ] DateTimePicker\n- [ ] Month Calendar\n- [ ] TreeView Control\n\n- [ ] Hot Key\n- [ ] Accelerator\n- [ ] Menu\n\n\u003c/details\u003e\n\n\n## Recommend\n\nIf you need to do complex GUI programs, you can use [govcl](https://github.com/ying32/govcl) or [walk](https://github.com/lxn/walk).\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwhtiehack%2Fwingui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwhtiehack%2Fwingui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwhtiehack%2Fwingui/lists"}