wtl

Use CString in console app when using VS Express

大城市里の小女人 提交于 2019-11-28 10:15:37
问题 I have a problem when trying to use CString. I have a console application written using VS2010Express. I have a piece of code I would like to use, but it uses CString. When I try to include the appropriate header atlstr.h (as far as I know) I get the famous error: Cannot open source file. After Goggling around for a while it seems that in general it should be possible, but the atlstr.h is not available to Express users. Questions: 1) Is that right ? 2) Can I avoid this problem somehow? Below

vs2010完美安装WTL

南楼画角 提交于 2019-11-28 05:50:26
1、首先去下载WTL 地址: http://wtl.svn.sourceforge.net/viewvc/wtl/?view=tar 2、安装App Wizard 找到“ VS安装目录 \VC\VCWizards\AppWiz ”这个目录,如我电脑上就是“ D:\Program Files\Microsoft Visual Studio 11.0\VC\VCWizards\AppWiz ”,在这个目录下新建“WTL”目录,将压缩包里的 wtl\trunk\wtl\Wizards\AppWiz 中的 File文件夹 和 setup100.js 解压到新建的“WTL”目录。然后双击运行 setup100.js 会提示安装成功。 3、解压include目录 在" D:\Program Files\Microsoft Visual Studio 10.0\VC "目录下建立“WTL”目录,将压缩包里的 wtl\trunk\wtl 下的 include文件夹 解压到新建的“WTL”目录。 4、将WTL的include目录添加到VS2010中 找到“ VS安装目录\VC\VCWizards\default.vcxproj ”这个文件,如我电脑上就是“ D:\Program Files\Microsoft Visual Studio 10.0\VC\VCWizards\default

wtl学习开篇

吃可爱长大的小学妹 提交于 2019-11-28 05:50:15
安装好vs和wtl开发环境后,就可以进行wtl开发了。 wtl提供了windows图形界面开发框架,可以利用wtl开发出想要的windows图形视窗界面程序。 首先我们简单的建立一个wtl的程序,看看wtl的代码逻辑和图形界面是如何来搭建代码积木的。 打开vs工具, 1、新建项目——>在已安装——>Visual C++ ——>WTL ——> ATL/WT Application Wizard 名称写wtl_work, Application Type选Dialog Based。 建好工程后,配置一下工程属性, 给C/C++附加包含目录:D:\WTL91_5270_Beta\Include 给资源附加包含目录:D:\WTL91_5270_Beta\Include 建好工程后,wtl已经有了一个简单的对话框窗口。 你可以编译运行一下, 程序样子如下图: 点击about,弹出对话框: 在vs工具解决方案资源管理器里查看新建工程的包含文件如下图: 看看wtl_work.cpp代码, 里面包含两个函数_tWinMain和Run。 int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE /*hPrevInstance*/ , LPTSTR lpstrCmdLine, int nCmdShow) { HRESULT hRes = :

WTL CSplitterWindow 修改

拥有回忆 提交于 2019-11-28 05:50:01
WTL的分割窗口CSplitterWindow非常好用。具体参见我的 http://data.blueanywhere.cn/wtl/ 第7章节 但美中不足的是有两点: 没有设置移动范围 双击分隔条每次都是默认居中分隔,其实这个很多时候不是本意,双击应该是最恰当的而不是最居中的。 幸好WTL全部有代码,小修小补一下即可满足以上要求。打开相关的文件:c:\YourWTL\include\atlsplit.h 红色是修改部分 1.增加内部变量 class CSplitterImpl { public: enum { m_nPanesCount = 2, m_nPropMax = 10000 }; HWND m_hWndPane[m_nPanesCount]; RECT m_rcSplitter; int m_xySplitterPos; int m_nDefActivePane; int m_cxySplitBar; // splitter bar width/height static HCURSOR m_hCursor; int m_cxyMin; // minimum pane size int m_cxyMax; //【修改之处】cxyMax = -1 就是没设置,和原来一样 int m_cxyMid; //【修改之处】cxyMid = -1 就是没,和原来一样 int m

WTL文档

我的未来我决定 提交于 2019-11-28 05:49:32
在网上找WTL有关资料,无意找到一份WTL的文档。这份文档是用Doxygen生成的,所以没什么解释,不过用来查找函数也是很方便的。网址: http://www.viksoe.dk/code/wtldoc.htm 来源: CSDN 作者: riag 链接: https://blog.csdn.net/riag/article/details/2047539

VS2012配置WTL

…衆ロ難τιáo~ 提交于 2019-11-28 05:48:26
VS2012配置WTL 1.首先在官网上进行下载WTL的库下载地址http://sourceforge.net/projects/wtl/files/有时候不怎么好找,给截一下图: 2.找到安装了VS2012的安装的目录进行库的加载:目录是VS2012\VC\VCWizards\AppWiz\WTL:创建WTL的目录,然后解压下载的压缩包解压找到目录文件,进行拷贝到 VS2012\VC\VCWizards\AppWiz\WTL文件夹中。 3.下一步进行安装和实现,需要在命令行进行。 wscript "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\VCWizards\AppWiz\WTL\setup.js" 4.这样就会安装成功了。 5.建立目录文件E:\programme\CPP\VS2012\VC\WTL[注意这个是我自己的目录],注意文件夹是自己建立的WTL,此时需要将WTL90_ 4140_ Final \Include目录下的东西复制到 E:\programme\CPP\VS2012\VC\WTL目录下面,如下图 6.打开配置文件进行修改:打开default.vcxproj文件进行更改配置: 添加代码: <div style="text-align: left;"><span style="font

WTL学习指南

▼魔方 西西 提交于 2019-11-28 05:47:58
下面很多资料链接都断了,请参照这个最权威: http://wtl.itservices.com.cn/ WTL学习资料非常少,最要命的是WTL没有官方支持,所以记录一下,给WTL学习的同学一点参考,少走弯路. 我的情况: 一个人开发Windows 客户端,除了网络,没有任何技术支持。以前开发过嵌入式Linux开发,基本不和界面打交道,知道一些Windows编程要素,也了解MFC,其他无任何Windows开发经验,也从来没有开发过一个Windows程序。目前需要开发一个Windows的支持拖拽的类似ipad应用的图像处理软件。 至于为何选择WTL而不选择MFC,类似问题不在讨论范围,我的指南仅仅给愿意使用WTL编程的人的一些参考意见 1. 基本浏览一下Windows 程序开发的元素,比如消息机制 窗口机制什么的, 2. 看一下 《深入解析ATL》第九章 窗口这一节 http://www.verycd.com/topics/2868684/ 3. 看一下小布老师的WTL视频介绍 http://bbs.code.ijinshan.com/thread-1326-1-1.html 4. 跟着金山学习一下WTL视频课程 http://bbs.code.ijinshan.com/forum-5-1.html 从4月份到6月份的连续课程。推荐下载EXE文件,比较清晰。Windows

WTL CTabCtrl 使用实例

扶醉桌前 提交于 2019-11-28 05:46:54
WTL CTabCtrl 使用实例 假设基于对话框界面开发, 实现一组Tab页面。 在 .H 文件中,对类及成员的定义如下: 对话框子类继承: class CMyMainDlg : public CDialogImpl<CMyMainDlg>, public CWinDataExchange<CMyMainDlg> 消息映射: BEGIN_MSG_MAP_EX(CMyMainDlg) MSG_WM_INITDIALOG(OnInitDialog) MESSAGE_HANDLER(WM_SYSCOMMAND, OnSysCommand) NOTIFY_HANDLER_EX(IDC_TAB1, TCN_SELCHANGE, OnSelchangeTab1) END_MSG_MAP() 响应函数声明: LRESULT OnSelchangeTab1(LPNMHDR pnmh); 定义类成员变量: 界面上,放置有4个Tab页面: CDialogImpl* m_pFunctionDlg[4]; int m_CurSelTabIndex; CTabCtrl m_tab; 在源文件中,增加TabCtrl变量的初始化、点击响应过程如下: BOOL CMyMainDlg::OnInitDialog(CWindow wndFocus, LPARAM lInitParam) { m_tab =

在wtl中显示jpg,png

江枫思渺然 提交于 2019-11-28 05:46:42
以下方法仅在wtl中测试过 data,len就是要显示的jpg或者png的数据和长度,可以直接从内存加载 void AccountDlg::ShowJpgGif(CImage& img,char* data,int len, int x, int y) { IStream *pStm; HGLOBAL hGlobal = GlobalAlloc(GMEM_MOVEABLE, len); if (hGlobal != NULL) { LPVOID pvData = GlobalLock(hGlobal); if (pvData != NULL) { memcpy(pvData,data,len); GlobalUnlock(hGlobal); CreateStreamOnHGlobal(hGlobal, TRUE, &pStm); img.Load(pStm); } } } 使用方法: 在对话框上放置一个Picture Control,把type设置成Bitmap即可 CImage img; ShowJpgGif(img,pdata,len,0,0); HBITMAP h = img.Detach(); CStatic stc = GetDlgItem(IDC_STC_VERIFY); stc.SetBitmap(h); 如果想直接加载文件可以用下面这个,直接指定文件的路径即可

学习WinxGui - WTL消息转换程序

狂风中的少年 提交于 2019-11-28 05:46:28
这是一个使用WinxGui编写WTL消息转换程序,程序的目的是从WTL的atlcrack.h文件中提取WTL消息转换为配置文件为VisualFC使用,这个程序原来是用WTL写的,现在我们改用WinxGui来写,顺便讲解一下如何使用VisualFC来帮助构建WinxGui应用程序。 第一步、我们在VS60下运行WinxGui的应用程序向导,建立一个对话框应用程序wtl2cfg,选中菜单支持,快捷键支持,DDX支持。 第二步、打开VS60的资源编辑器,为wtl2cfg对话框资源IDD_MAINDLG增加一个EDIT窗口ID_CFG_EDIT,属性设置为Muliline ,Horizontal scroll,Vertical scroll,Want return。更改IDD_MAINDLG的Border属性为Resizing,以便我们能调整大小。编辑菜单IDR_MAINMENU,在ID_FILE_OPEN下再增加一个ID_FILE_SAVE,“保存.../tCtrl+S”。 第三步、运行工具栏上VisualFC的WinxGui类向导. 消息: 切换至页面Winx Notify,为菜单资源ID列表中ID_FILE_OEPN增加函数OnFileOpen,为ID_FILE_SAVE增加函数OnFileSave。 Resize: 切换至页面Winx Resize,为ID_CFG