WTL 学习笔记 -- 几则技巧
l 在WTL项目中插入ATL控件。有点不明白,WTL本身就是扩展ATL,但WTL向导产生的工程,竟不能使用ATL控件。还得手工加一些东西来欺骗VS6,VS6才让插入ATL控件。
1. 在工程增加一个Atl.idl文件,并排除在编译之外。
2. 在源文件加入一个宏。
#if 0
#include < atlcom.h >
BEGIN_OBJECT_MAP(ObjectMap) END_OBJECT_MAP()
#endif
|
l 限制窗口的大小。
MESSAGE_HANDLER(WM_GETMINMAXINFO, OnGetMinMaxInfo)
LRESULT OnGetMinMaxInfo(UINT, WPARAM, LPARAM lParam, BOOL&)
{ // load size structure with lParam values
LPMINMAXINFO lpMMI = (LPMINMAXINFO)lParam;
// change the values in the size structure to desired values
lpMMI->ptMinTrackSize.x = 200; // min width
lpMMI->ptMinTrackSize.y = 150; // min height
lpMMI->ptMaxTrackSize.x = 600; // max width
lpMMI->ptMaxTrackSize.y = 450; // max height
return 0;
}
|
l 修改对话框和背景的颜色。
MESSAGE_HANDLER(WM_CTLCOLORDLG, OnCtrlColor)
MESSAGE_HANDLER(WM_CTLCOLORSTATIC, OnCtrlColor)
LRESULT OnCtrlColor(UINT, WPARAM, LPARAM, BOOL&)
{ // set background mode and text color
SetBkMode((HDC)wParam, TRANSPARENT); // transparent background
SetTextColor((HDC)wParam, RGB(255, 255, 255)); // white text
return (LRESULT)AtlGetStockBrush(BLACK_BRUSH);
}
|
l 让主窗口打开时就最大化。
wndMain.ShowWindow(nCmdShow | SW_SHOWMAXIMIZED);
|
l 让视图打开时就最大化。
LRESULT OnFileNew(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
{
CChildFrame* pChild = new CChildFrame;
pChild->CreateEx(m_hWndClient);
pChild->ShowWindow(SW_SHOWMAXIMIZED);
// TODO: add code to initialize document
return 0;
}
|
l 渐变颜色填充。
RECT rect;
GetClientRect(&rect);
TRIVERTEX tv[] =
{
{ rect.left, rect.top, 0xff00 },
{ rect.right, rect.top + m_cxyHeader, 0, 0xff00 }
};
GRADIENT_RECT gr = { 0, 1 };
dc.GradientFill ( tv, 2, &gr, 1, GRADIENT_FILL_RECT_H );
|
分享到:
相关推荐
WTL之父写就的WTL技术白皮书,详细讲述了WTL的来龙去脉,是很好的深入WTL的参考资料。
WTL for MFC Programmers, Part II - WTL GUI Base Classes
WTL developer Guide, WTL开发指南
用vs2010实现的项目, 只配置了Debug模式,虽然使用的是WTL来实现界面,但是消息映射是一样的,很容易移植到MFC. 详细内容查看 https://infoworld.blog.csdn.net/article/details/91960284
感谢网络前辈的无私分享,再整理...6、深入剖析WTL-如何封装Windows界面程序.doc 7、白乔原创:VC之美化界面篇 8、ComboBox的WTL移植.doc 9、窗口的子类化.docx 10、深入剖析MFC中对于Windows消息处理、运行机制.doc
WTL起步-玩转图形界面 学习ATL使用的书籍。
WTL起步-玩转图形界面WTL起步-玩转图形界面WTL起步-玩转图形界面
使用c/c++实现javap的功能,加深对java中class结构的理解
如何获取ListView点击的单元格域的项目源码,需要vs2010以上编译。博客文章所在https://blog.csdn.net/infoworld/article/details/131106482
ATL与 WTL学习,学习两者互操作的.。
WTL起步-玩转图形界面,WTL Makes UI Programming a Joy 的中文版。pdf格式,带书签目录的,绝对是最好用的版本。
运行WTL80.exe,程序自动将WTL所有的配置文件,生成到默认的目录下。 点击unzip.就可以直接生成文件。目录可以自己修改。
最近使用WTL,使用的IDE是VS2005。觉得默认的WTL实在是不方便。在字体和图片上都不令人满意。尤其是字体,它使用的是“MS Sans Serif”字体,这种字体在中文的操作系统上显得很难看(当然这是我的个人见解)。所以...
这是WTL原版的安装包,如果对英语比较吃力,并且难以修改其中的错误的话,可以尝试下载我的汉化版。(http://download.csdn.net/detail/jiangcaiyang123/3990563) 经测试,汉化版在VS2005和VS2008下运行良好(VS...
wtl button类-wtl button class 基于WTL的三态按钮,易用性好,
WTL_Freecell-Release04-v1.3-20190126 (WTL空当接龙v1.3) 本程序主要特点介绍: 1、本程序全部使用WTL编程,VS2017编译,程序短小精悍,不依赖VC运行库; 2、本程序支持XP/7/8/8.1/10及相应Server版Windows系统...