{"id":23436345,"url":"https://github.com/gammasoft71/win32_gui","last_synced_at":"2025-04-09T17:49:37.364Z","repository":{"id":111159417,"uuid":"532857883","full_name":"gammasoft71/win32_gui","owner":"gammasoft71","description":"C++ Win32 gui draft project used to experiment with xtd.","archived":false,"fork":false,"pushed_at":"2024-04-18T07:38:58.000Z","size":259,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-15T10:42:26.487Z","etag":null,"topics":["cpp17","example","examples","gui","win32","win32api"],"latest_commit_sha":null,"homepage":"https://gammasoft71.wixsite.com/gammasoft","language":"C++","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/gammasoft71.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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":"2022-09-05T10:49:44.000Z","updated_at":"2024-05-05T11:08:48.000Z","dependencies_parsed_at":null,"dependency_job_id":"78b4362c-0aba-4eb5-aed1-b191181625a9","html_url":"https://github.com/gammasoft71/win32_gui","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gammasoft71%2Fwin32_gui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gammasoft71%2Fwin32_gui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gammasoft71%2Fwin32_gui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gammasoft71%2Fwin32_gui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gammasoft71","download_url":"https://codeload.github.com/gammasoft71/win32_gui/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248082519,"owners_count":21044921,"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":["cpp17","example","examples","gui","win32","win32api"],"created_at":"2024-12-23T13:18:51.516Z","updated_at":"2025-04-09T17:49:37.344Z","avatar_url":"https://github.com/gammasoft71.png","language":"C++","readme":"# win32_gui\n\n* C++ Win32 gui draft project used to experiment with [xtd](https://gammasoft71.github.io/xtd/).\n* DO NOT USE this project for your developments.\n* I put it at the disposal of the community because it can be an inspiration for you and because it could be a good start to start a [Win32](https://docs.microsoft.com/en-us/windows/win32/controls/window-controls) project properly.\n\n## This project contains\n\n* A basic [application](https://github.com/gammasoft71/win32_gui/blob/main/win32_gui/src/win32/include/application.h) class that allows to start and stop the Windows event loop\n* A [control](https://github.com/gammasoft71/win32_gui/blob/main/win32_gui/src/win32/include/control.h) class which is the basis for all other controls like, [form](https://github.com/gammasoft71/win32_gui/blob/main/win32_gui/src/win32/include/form.h), [button](https://github.com/gammasoft71/win32_gui/blob/main/win32_gui/src/win32/include/button.h), [label](https://github.com/gammasoft71/win32_gui/blob/main/win32_gui/src/win32/include/label.h), ...\n* An elegant way to receive the events in all the controls and to process them cleanly in C++.\n\n## Remarks\n\nIf you want a complete project on which to base your development, please use [xtd](https://gammasoft71.github.io/xtd/).\n\n## Example\n\n```c++\n#include \u003cwin32_gui/win32_gui\u003e\n\nusing namespace win32;\nusing namespace win32::forms;\n\nint wmain(int argc, wchar_t* argv[]) {\n  form form1;\n  form1.text(L\"Form1\");\n\n  button button1;\n  button1.location({10, 10});\n  button1.parent(form1);\n  button1.text(L\"Click me!\");\n\n  button1.click += [](control\u0026 sender, const event_args\u0026 e) {\n    MessageBox(form1.handle(), L\"Hello, World!\", L\"\", MB_OK);\n };\n\n  application::run(form1);\n}\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgammasoft71%2Fwin32_gui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgammasoft71%2Fwin32_gui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgammasoft71%2Fwin32_gui/lists"}