在白易Win32相关系统API调用中一律采用W版字符集

[条例1]
所有的【正式窗口成员属性】一律使用public权限 属性名（如"左边"，"可视"，"标题"等），尽管硬性约束对这些属性在外部会被C++代码修改，但其在实际意义上所有成员属性通常一律都不可在外部被更改（要更改需用上其同名函数见条例2）；
对于不是窗口属性的但内部供某些特殊场景半公开使用的则将"_"打头命名（如"_组件列表"用于父容器存放子窗口指针），完全类内部/继承类内部使用的除了加private/protected也要"_"打头（主要也是为了让IDE有良好的识别供开发者列出其成员查看而不与其他规范的命名规则冲突让用户误选）。

[条例2]
常规的可视、禁止这些具有可更改属性，那么需要定义其同名函数（结尾附带"_"的命名规则）去给出修改属性的方法（如 "可视"属性 对应 "void 可视_(is)"方法 ——其实之所以这样搞是C++里有个硬性条例：那就是无论成员属性还是函数其符号名称不可重复，也就是属性取了一个名字后函数就不能再取该名字否则会被视为同一个符号从而造成符号重定义），而且我们这样设定还有个好处，用户但凡看到方法名有"_"结尾的应该意识到它对应的属性这个是不可直接在C++层面更改的仅供属性的只读（而"_"在开头的它是完全内部一定不能修改，且通常也没有公开的同名修改函数，如"_画刷句柄"）。

[条例3]
对于在消息响应中进行同步变量识别使其即时生效的属性，则可以允许通过直接更改属性并使用与方法那样的"_"结尾规则命名（如"Esc键关闭_"是在快捷键设定中响应热键消息后根据判断窗口该属性为真且按下Esc后实施窗口关闭、"随意移动_"鼠标左键在被按下时即时检查该属性为真时窗口任意范围内都可以进行拖动），用户无需去找同名方法而将该属性自身直接修改待触发时自动生效。

[条例4]
对于仅窗口内核才有的复杂结构在应用层可不必给出其成员属性的直接设定，如字体、图标，这些都是具备win32内核才有的句柄特性那么在应用层的C++类在设计时没必要再给出一个系统中完整定义的复杂结构实例进行二次存储（或可用简单有限的结构体表示，如字体我就单独简单抽象出来自己定义一个"struct 字体{}"，而因完整的LOGFONT过于复杂，目的是把其最常用的属性简化易用地给出，但完整的struct 字体本身占据的容量也很大可根据需求看是否缓存），故这种情况则一般在需要设置或取出时才给予临时性的操作方法（如取出可通过SendMessage先得到字体句柄，然后再单独构造该字体对象，设置则将字体临时转换到LOGFONT再得到字体句柄，最后SendMessage设置它）；
再说回字体场景，白易中它的正确设定是仅给出一个非公开的C++窗口属性（HandleFONT _字体句柄），该成员属性虽然不必设定直接struct结构但要提供该句柄的保存（其句柄管理可用框架内自带的智能句柄"HandleXXX"类实现，出栈或析构时安全销毁或自动化转移），然后其方法命名规则使用"void 置字体(font)"、"字体 取字体()"，但凡看到"置"跟"取"的成员方法你应该就知道"字体"这个struct本身没有对应的C++成员属性，而可能仅是其句柄、它的struct(字体)仅在设置和取出时才会作为中介呈现。

[条例5]
具有取出位置或大小跟调整的方法，在设计时以虚拟像素单位为主（即窗口在设计之初所用到的参考平面的单位它与dpi无关，之后随系统设置不同设备DPI下后期 自身虚拟像素vpx乘上dpi比例 即可得到真实设备像素单位），框架中使用dpi(vpx)方法进行转换；
其命名规则上需要带上模板参数<D>（该D的意思Device设备），通常是以该模板作为基底函数，然后常规方法不带模板的采用dpi(vpx)方法后转发调用；
如：template <class D>void 重画(RECT r){...} 而后不带模板的：void 重画(RECT r){重画<D>(r);}
这样做的好处是在写注释的时候只需打一份（IDE中对同名函数用上/下方向键即可快速查阅注释），而无需维护两头的注释
此外，若想临时hook改变全局dpi的值，这里框架中提供了可借助的两个全局函数：dpi_backup(newDPI)、dpi_restore()。

[条例6]
这个不针对窗口类中的成员变量，而是初始化创建窗口对象所需的各种UI参数（或称其为静态属性），
6.1 子组件的初始化创建，前6个参数必须是4个整型的左边,顶边,宽度,高度 以及 2个布尔型可视、禁止
6.2 使用"可空<类型>"命名的参数
     6.2.1 一般用在默认初值存在特殊行为不易静态确定（如窗口可视属性，若用户没去给其初值则由可由"初显()方法"在winmain函数中nCmdShow决定）
     6.2.2 或存在其他一同的可选参数多选一情况（比如窗口的图标数据/图标ID，这里假定某个内定优先级的规则后当用户给出其中一个时则忽略另外一个）
6.3 参数的类型必须使用如下已知类型进行定义（这是方便对IDE中可视化UI面板反射识别）
     bool(1字节)、整型char、short、int、int64（无符号则使用"u"前缀，如"uint"）
     Bytes(字节集)、StrW(在白易Win32相关系统API调用中一律采用W版即UTF-16字符集)
     颜色(内存模型兼容COLORREF)，字体(独立的区别于LOGFONT)、以及下边6.4介绍的枚举型
6.4 对可列举的参数采用白易内置的定义_枚举型宏：
定义_枚举型(窗口位置, char,
	通常 = 0, 居中 = 1, 最小化 = 2, 最大化 = 4
);
6.5 务必给出内部类参数的静态成员"static _df"声明，如：struct 参数 : 控件类::参数{ ......} static _df;（这里定义该参数结构的结尾顺带声明该静态对象） 不过暂且在本文件中不需要实例化它；
对于所有不可空的参数必须给出默认值，这里该"_df"硬编码这个静态对象主要在写UI动态插件时用于提供反射的参考默认值、且在那时才会被定义静态实例化。
