我正在尝试使用以下代码在对话框中对进度控件进行子类化:
ATL::CContainedWindowT<WTL::CProgressBarCtrl> progress;
// ...
progress.SubclassWindow(GetDlgItem(IDC_PROGRESS));
那里一切都好。现在,如果我尝试这样做:
progress.SetRange(0, 100);
SendMessage
我在一个简单的 WTLSetRange()
实现中遇到了访问冲突异常。我一直在上下搜索,我所能找到的只是这可能是“使用旧 ATL 组件的应用程序可能会与 DEP 发生冲突”中提到的一些“thunking”问题,这不应该真正适用于我,因为我使用的是最新的 ATL 和 WTL (Visual Studio 2010 和WTL 8.1)。即使我使用 WTL 8.0,我也会遇到同样的问题。
由于 HWND 有效,子类化完成。有任何想法吗?