标签: wtl

如何在Visual Studio c ++ express 2008中添加WTL和ATL

我开始在家里使用visual studio c ++ express 2008,但其中没有ATL.
如何将ATL添加到visual studio c ++ express 2008?

c++ wtl atl visual-studio

23
推荐指数
3
解决办法
4万
查看次数

WTL(Windows模板库)是否仍然维护,我应该用它来用C++创建新的Windows程序吗?

我是否仍然应该使用WTL来编写Windows应用程序?我真的很喜欢它是如何编写的,但有人知道它是否仍然保持?(也许有人有非正式维护的端口?)

如果不建议WTL编写新的Windows应用程序,那么我可以查找和使用哪些新框架?

windows wtl

18
推荐指数
2
解决办法
6858
查看次数

Windows中的错误 - DWORD(GetLastError)vs HRESULT vs LSTATUS

我正在Win32 + WTL中进行一些编程,我对可用的错误类型感到困惑.

通常,我想检查错误,并将其提供给AtlGetErrorDescription(调用FormatMessage).

我的问题是:

  1. 有什么区别:

    • DWORD,归来GetLastError.
    • HRESULT,由例如CAtlFile包装器返回,HRESULT_FROM_WIN32用于转换DWORD.
    • LSTATUS,例如通过返回RegCreateKeyEx.
  2. 我可以提供哪些类型的错误FormatMessage?它的签名表示它接受HRESULT,但有很多例子GetLastError直接传递返回值FormatMessage.

error-handling winapi wtl

16
推荐指数
1
解决办法
6438
查看次数

如何用C++编写现代Windows软件?

我对现代Windows软件如何用C++编写非常感兴趣.我问过曾经从事Windows软件工作的朋友,他告诉他最后的工作是MFC,然后是WTL.他说MFC不再是现代的,但仍然使用WTL,但他不太了解.他还说WTL不是那么现代,在此之前他用纯Windows API编程.

如何为Windows Vista或Windows 7编写软件?你还在使用WTL吗?那么MFC和纯Windows API呢?或者现在有其他图书馆吗?

我不太了解它,但是在编写现代Windows软件时,C#还是其他.NET语言取代了C++?

c++ windows api wtl

13
推荐指数
4
解决办法
2848
查看次数

ATL和WTL有什么区别?

我知道"WTL 建立在 ATL上",但这在实际意义上是什么意思?

ATL在功能方面是WTL的子集吗?(即ATL中的所有功能是否也存在于WTL中?)我注意到维基百科声称ATL的发展状态是"当前",而WTL的最新版本是从2009年中期开始.这是否意味着如果我想使用Glass/Aero和其他Windows 7功能编写Windows 7软件,那么我无法用WTL做到这一点?ATL怎么样?

在ATL和WTL中编写程序是否有任何性能/内存差异?

c++ windows wtl atl

9
推荐指数
2
解决办法
7883
查看次数

更改列表视图和树视图颜色的最简单方法

我试图找到一种简单的方法来改变WTL或普通Win32代码中的文本和背景listview以及treeview控件的颜色.

我真的不想为这些控件实现完整的所有者绘图,只需更改使用的颜色.

我想确保图像仍以适当的透明度绘制.

有什么建议?

c++ winapi wtl

5
推荐指数
1
解决办法
2383
查看次数

Microsoft使用什么作为Unicode字符串的数据类型?

我正在学习C++,在这里遇到了一篇关于MSDN的文章:

http://msdn.microsoft.com/en-us/magazine/dd861344.aspx

在第一个代码示例中,我的问题涉及的一行代码如下:

VERIFY(SetWindowText(L"Direct2D Sample"));
Run Code Online (Sandbox Code Playgroud)

更具体地说,L前缀.我有一点阅读,并纠正我,如果我错了:-),但这是为了允许unicode字符串,即准备一个长字符集.现在,在我阅读这篇文章的过程中,我在另一篇关于C中的Adavnced String Techniques的文章中发表了这篇文章http://www.flipcode.com/archives/Advanced_String_Techniques_in_C-Part_I_Unicode.shtml

它说有一些选项,包括标题:

#define UNICODE 
Run Code Online (Sandbox Code Playgroud)

要么

#define _UNICODE
Run Code Online (Sandbox Code Playgroud)

在C中,再次指出我是错的,感谢您的反馈.此外,它显示适合这些unicode字符串的数据类型:

wchar_t
Run Code Online (Sandbox Code Playgroud)

它混合了一个宏和一种混合数据类型,宏是:

_TEXT(t)
Run Code Online (Sandbox Code Playgroud)

它只是将字符串前缀为L,混合数据类型为

TCHAR 
Run Code Online (Sandbox Code Playgroud)

如果标题存在则指出它将允许unicode,否则允许ASCII.现在我的问题是,或者更多的是我想要确认的假设,微软会使用这种更灵活的TCHAR数据类型,或者承诺使用wchar_t有什么好处.

另外,当我说微软使用它时,更具体地说是ATL和WTL库中的exmaple,你们自己是否有偏好或对此有一些建议?

干杯,

安德鲁

c++ unicode wtl atl

5
推荐指数
2
解决办法
732
查看次数

如何在VS 2010中安装WTL 8.0 Project Wizards?

我已经下载了WTL 8.0软件包并且找到了安装App Wizards不支持VS 2010的脚本.

有谁知道更新脚本以支持VS 2010中的安装?

谢谢!

wtl visual-studio-2010 visual-studio

5
推荐指数
2
解决办法
6850
查看次数

如何在 WTL 中删除指向无模式对话框的指针

在MainDlg函数中

\n\n
LRESULT CMainDlg::OnDo(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled)\n{\n\n    CMyDlg* dlg = new CMyDlg;// it could be CMainDlg member var\n    //dlg.pMain = this; // i want to SendMessage(pMain.m_hWnd...) in CMyDlg...but it don\'t     \n    //  work...\n    dlg->Create(m_hWnd);\n    dlg->ShowWindow(SW_SHOW);\n    return 0;\n\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

在CMyDlg中

\n\n
 class CMyDlg : public CDialogImpl<CMyDlg>, public CUpdateUI<CMyDlg>,\npublic CMessageFilter, public CIdleHandler, \npublic CWinDataExchange<CMyDlg>,\npublic CDialogResize<CMyDlg>\n\n\nLRESULT CMyDlg::OnCancel(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL&   /*bHandled*/)\n{\n    DestroyWindow();\n\n }\n
Run Code Online (Sandbox Code Playgroud)\n\n

所以 CMyDlg* dlg 指针将会丢失...(内存泄漏)

\n\n

我在 google 上搜索模型对话框。请注意 msdn.com 中的该消息

\n\n

http://msdn.microsoft.com/en-us/library/zhk0y9cw(VS.80).aspx …

c++ windows user-interface wtl

5
推荐指数
1
解决办法
2510
查看次数

Windows 10 上的 WTL

有没有人已经在 Windows 10 上使用过 WTL?我在 Windows 10 上使用 WTL segfault 创建的所有应用程序。它们适用于 Windows 8 和 Windows 7。

我什至在 Windows 10 上的 WTL 中尝试了最基本的 Hello-World 应用程序,并且在我运行它时出现了段错误。没有明确的迹象表明出了什么问题。该程序只是带有通用 Windows 段错误的段错误。

看起来 WTL 还不兼容 Windows 10?有没有人遇到过这个问题。

只是在这里问,因为其他人可能会遇到同样的问题。我尝试了两种不同的 Windows 10(预发布测试版和正式版)。我正在使用最新的 WTL 版本WTL 9.0.4140 Final(2014-05-30)。

windows wtl windows-10

5
推荐指数
1
解决办法
1397
查看次数