GUI 很容易入门,但也很容易写散:一开始能放按钮和输入框,后面加列表、菜单、状态栏、事件处理时就乱了。我建议先别急着美化,先把窗口、控件、事件、数据这几层分清楚。

我一般这样学

  • 小工具窗口:先掌握 Gui, AddGui, Show
  • 读取和修改控件:用 GuiControlGetGuiControl
  • 表格数据:用 ListView
  • 树形结构:用 TreeView
  • 右键菜单、托盘菜单:用 Menu
  • 复杂界面美化:先做功能,再套模板或封装库。

最小 GUI 示例

GUI 的第一步不是美化,而是让输入、按钮、结果显示跑通。

#Requires AutoHotkey v1.1
Gui, Add, Text,, 请输入姓名:
Gui, Add, Edit, vUserName w220
Gui, Add, Button, gShowName, 确定
Gui, Show,, 我的第一个 GUI
return

ShowName:
GuiControlGet, name,, UserName
MsgBox, % "你好," name
return

GuiClose:
ExitApp

GuiControl 和 GuiControlGet

如果你只想读一个控件,或者动态修改某个控件内容,就用 GuiControlGetGuiControl。这样比一口气提交整个窗口更直观。

GuiControlGet, name,, UserName
GuiControl,, UserName, % name " 已处理"

ListView 适合表格

只要你的界面里出现多行、多列、选择、排序、批量处理,优先考虑 ListView,不要用一堆 Text/Edit 硬拼。

Gui, Add, ListView, w420 r8 vMyLV, 文件名|状态
LV_Add("", "a.txt", "待处理")
LV_Add("", "b.txt", "已完成")
Gui, Show,, ListView 示例
return

GuiClose:
ExitApp

菜单适合命令入口

右键菜单、托盘菜单、工具菜单都可以后面再学。如果按钮太多,我一般会先考虑菜单,不会把窗口塞满。菜单相关内容建议等基本窗口和 ListView 都熟了之后再补。

GUI 学习顺序

推荐顺序是:先做一个能读取输入的小窗口,再学控件读写,然后上 ListView,最后再考虑菜单、消息监听 OnMessage 和非标准界面模板。这样不容易一开始就被美化和消息机制带偏。

站内延伸

声明:站内资源为整理优化好的代码上传分享与学习研究,如果是开源代码基本都会标明出处,方便大家扩展学习路径。请不要恶意搬运,破坏站长辛苦整理维护的劳动成果。本站为爱好者分享站点,所有内容不作为商业行为。如若本站上传内容侵犯了原著者的合法权益,请联系我们进行删除下架。