WTL 控件库路径:biyouLib/GuiEx/Controls
cnUtil.h:工具头文件,包括库所用到的所有头文件,以及各种工具类。
包含的头文件分两部分:第一部分为ATL/WTL库。第二部分为STL库。第三部分为biyouLib的其它库。
特 别 的 , 本 库 对 于 字 符 串 的 使 用 说 明 , VC 平 台 下 字 符 串 包 括 C 风 格 字 符 串 、
WTL::CString、ATL::CString、以及 STL::string 和 STL::wstring。
1、本库为 C++库,不提倡 C 风格字符串。
2、而因某些情况下只能使用 ATL::CString(1 某些函数如 GetWindowText()参数,2 DDX_TEXT()),
本库放弃 WTL::CString 的使用。
因此本库将只用到 ATL::CString 和 STL::string 和 STL::wstring。ATL::CString 将多用于控件外部 public
接口函数,而 STL::string 和 STL::wstring 将多使用于控件内部逻辑。
工具类介绍:
// 控件动态缩放辅助类
/* 父窗口
--------------------------------
| | |
| dy1 |
| | |
| ----------- |
| -dx1- |子窗口 | -dx2- |
| | | |
| ----------- |
| | |
| dy2 |
| | |
--------------------------------
*/
struct _CtrlScale
{
CRect m_clientRect; //父窗体的区域
CRect m_ctrlRect; //控件相对父窗体区域
enum zoomMode
{
MOVE_X = 1, //bit 1 dx2不变 dx1改变 控件x方向上大小不变
MOVE_Y = 2, //bit 2 dy2不变 dy1改变 控件y方向上大小不变
SIZE_X = 4, //bit 3 dx1和dx2都不变 控件x方向上大小改变
SIZE_Y = 8, //bit 4 dy1和dy2都不变 控件y方向上大小改变
SCALE_X = 16, //bit 5 dx1,dx2按比例变
SCALE_Y = 32 //bit 6 dy1,dy2按比例变
};