`
jinghuainfo
  • 浏览: 1524064 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

WTL 学习笔记 -- 几则技巧

 
阅读更多

WTL 学习笔记 -- 几则技巧

l WTL项目中插入ATL控件。有点不明白,WTL本身就是扩展ATL,但WTL向导产生的工程,竟不能使用ATL控件。还得手工加一些东西来欺骗VS6VS6才让插入ATL控件。

1. 在工程增加一个Atl.idl文件,并排除在编译之外。

library Atl { };

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的参考资料。

    WTL-GUI-Base-Classes.zip_wtl

    WTL for MFC Programmers, Part II - WTL GUI Base Classes

    WTL-Developer-Guide

    WTL developer Guide, WTL开发指南

    WTL-MFC-Win32无边框窗口.zip

    用vs2010实现的项目, 只配置了Debug模式,虽然使用的是WTL来实现界面,但是消息映射是一样的,很容易移植到MFC. 详细内容查看 https://infoworld.blog.csdn.net/article/details/91960284

    WTL 入门学习资料

    感谢网络前辈的无私分享,再整理...6、深入剖析WTL-如何封装Windows界面程序.doc 7、白乔原创:VC之美化界面篇 8、ComboBox的WTL移植.doc 9、窗口的子类化.docx 10、深入剖析MFC中对于Windows消息处理、运行机制.doc

    WTL起步-玩转图形界面

    WTL起步-玩转图形界面 学习ATL使用的书籍。

    WTL起步-玩转图形界面

    WTL起步-玩转图形界面WTL起步-玩转图形界面WTL起步-玩转图形界面

    wtl_wtl-implementation_of_javap-master_C++_

    使用c/c++实现javap的功能,加深对java中class结构的理解

    ATL/WTL-资源-[如何获取ListView点击的单元格区域]

    如何获取ListView点击的单元格域的项目源码,需要vs2010以上编译。博客文章所在https://blog.csdn.net/infoworld/article/details/131106482

    ATL与 WTL学习

    ATL与 WTL学习,学习两者互操作的.。

    WTL起步-玩转图形界面.pdf

    WTL起步-玩转图形界面,WTL Makes UI Programming a Joy 的中文版。pdf格式,带书签目录的,绝对是最好用的版本。

    WTL80-self-Extractor

    运行WTL80.exe,程序自动将WTL所有的配置文件,生成到默认的目录下。 点击unzip.就可以直接生成文件。目录可以自己修改。

    WTL安装包 - 蒋彩阳汉化

    最近使用WTL,使用的IDE是VS2005。觉得默认的WTL实在是不方便。在字体和图片上都不令人满意。尤其是字体,它使用的是“MS Sans Serif”字体,这种字体在中文的操作系统上显得很难看(当然这是我的个人见解)。所以...

    WTL安装包 - 原版

    这是WTL原版的安装包,如果对英语比较吃力,并且难以修改其中的错误的话,可以尝试下载我的汉化版。(http://download.csdn.net/detail/jiangcaiyang123/3990563) 经测试,汉化版在VS2005和VS2008下运行良好(VS...

    wtl三态按钮

    wtl button类-wtl button class 基于WTL的三态按钮,易用性好,

    WTL_Freecell-Release04-v1.3-20190126 (WTL空当接龙v1.3)

    WTL_Freecell-Release04-v1.3-20190126 (WTL空当接龙v1.3) 本程序主要特点介绍: 1、本程序全部使用WTL编程,VS2017编译,程序短小精悍,不依赖VC运行库; 2、本程序支持XP/7/8/8.1/10及相应Server版Windows系统...

Global site tag (gtag.js) - Google Analytics