我试图使用以下代码在对话框中将进度控件子类化:

ATL::CContainedWindowT<WTL::CProgressBarCtrl> progress;
// ...
progress.SubclassWindow(GetDlgItem(IDC_PROGRESS));

那里一切都很好。现在,如果我尝试这样做:
progress.SetRange(0, 100);

在普通的WTL的SendMessage实现中,我在SetRange()上遇到访问冲突异常。我一直在向上和向下搜索,我所能发现的是这可能是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;

关于c++ - WTL和CContainedWindow导致访问冲突,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10626499/

10-13 08:09