Walk源码剖析
1 概述 lxn/walk windows 源码笔记 lxn/wak是使用windows api封装起来用go语言表达的一整套ui框架 源码位置如下 https://github.com/lxn/walk/ 代码简单,好借鉴。 ui包装的方式是基础的handle组合,而不是directui方式 2 event基础 2.1 事件event 描述一个事件 event => 事件的侦听者们 Attach Detach EventPublisher => 事件的发布者们 Publish 2.2 校验器validator 描述一个数据的校验方式 Validate(v interface{}) error 自带有rangvalidate,regexvalidate和selectvalidate 2.3 属性property 描述一个属性 Get,Set,ReadOnly Changed()获取事件倾听者们 Source,SetSource,属性源,可以为另外一个属性,从而实现属性绑定 Validator,SetValidator,设置校验器 3 gdi基础 3.1 字体(font) func NewFont(family string, pointSize int, style FontStyle) (*Font, error) 通过传入famiy,pointSize