# walik 库
>
> 主要的 [API](https://godoc.org/github.com/lxn/walk)
>
>
## 注意事项
* 代码应包含文件
> 正常的 “.go” 文件、 “.manifest” 和由 rsrc 生成的 “.syso” 文件,必须保证文件存在,都在程序无法正常运行和调试。
>
>
> 否则会报:TTM_ADDTOOL failed 等异常!
>
> 生成 “.syso” 文件的命令:rsrc -manifest main.manifest -ico main.ico -o main.syso
>
> 其中 rsrc 的应用目录应配置到【系统环境变量】里。
![配置详情](img/1.png)
>
* 开发测试文件配置应该为
![配置详情](img/2.png)
>
# 包结构划分
> 功能划分多个子包
* **declarative**:
* **examples/actions**:
* **examples/clipboard**:
* **examples/databinding**:
* **examples/drawing**:
* **examples/dropfiles**:
* **examples/externalwidgets**:
* **examples/filebrowser**:
* **examples/gradientcomposite**:
* **examples/imageicon**:
* **examples/imageview**:
* **examples/imageviewer**:
* **examples/linklabel**:
* **examples/listbox**:
* **examples/listbox_ownerdrawing**:
* **examples/logview**:
* **examples/multiplepages**:
* **examples/notifyicon**:
* **examples/progressindicator**:
* **examples/radiobutton**:
* **examples/settings**:
* **examples/slider**:
* **examples/statusbar**:此示例演示了状态栏,包括连接到主窗口底部的尺寸夹。
* **examples/tableview**:
* **examples/webview**:
* **examples/webview_events**:
* **tools/ui2walk**:
# 什么是manifest
* 介绍:
> Manifests是伴随并描述并行程序集或隔离的应用程序的XML文件。
> Manifests通过装配的assemblyIdentity元素唯一标识装配。
> 它们包含用于绑定和激活的信息,例如COM类,接口和类型库,这些信息通常存储在注册表中。
> Manifests还指定了组成程序集的文件,如果程序集作者希望对它们进行版本控制,则Manifests可以包括Windows类。并排程序集未在系统上注册,但可用于系统和清单文件中指定依赖项的应用程序和其他程序集。
> 是一种xml文件,标明所依赖的side-by-side组建。
> 如果用VS开发,可以Set通过porperty->configuration properties->linker->manifest file->Generate manifest To Yes来自动创建manifest来指定系统的和CRT的assembly版本。
* 样例:
true
* 详解
> 观察上面的manifest文件:
> 这是xml声明:
版本号----。
这是必选项。 尽管以后的 XML 版本可能会更改该数字,但是 1.0 是当前的版本。
编码声明------
这是可选项。 如果使用编码声明,必须紧接在 XML 声明的版本信息之后,并且必须包含代表现有字符编码的值。
standalone表示该xml是不是独立的,如果是yes,则表示这个XML文档时独立的,不能引用外部的DTD规范文件;如果是no,则该XML文档不是独立的,表示可以用外部的DTD规范文档。