我正在尝试使用以下代码对对话框中的进度控件进行子类化:
ATL::CContainedWindowT<WTL::CProgressBarCtrl> progress;
// ...
progress.SubclassWindow(GetDlgItem(IDC_PROGRESS));
一切都很好。现在,如果我尝试这样做:
progress.SetRange(0, 100);
我在一个简单的 WTL 的 SetRange()
实现中的 SendMessage
上遇到访问冲突异常。我一直在上下搜索,我所能找到的只是这可能是Applications Using Older ATL Components May Experience Conflicts With DEP中提到的一些“thunking”问题。这实际上并不适用于我,因为我正在使用最新的 ATL 和 WTL(Visual Studio 2010 和 WTL 8.1 )。即使我使用 WTL 8.0,我也会遇到同样的问题。
子类化已完成,因为 HWND 有效。有什么想法吗?
最佳答案
WTL::CProgressBarCtrl m_Progress; <~ 使用它来附加进度条,而不是 CContainedWindow。
关于c++ - WTL 和 CContainedWindow 导致访问冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10626499/