我在项目中使用多字节字符集。
字符集为多字节时,不允许访问SetMarquee函数。
C:\ Program Files(x86)\ Microsoft Visual Studio 12.0 \ VC \ atlmfc \ include \ afxcmn2.inl 中可用的以下功能
#if defined(UNICODE)
_AFXCMN_INLINE BOOL CProgressCtrl::SetMarquee(_In_ BOOL fMarqueeMode, _In_ int nInterval)
{ ASSERT(::IsWindow(m_hWnd)); return (BOOL) ::SendMessage(m_hWnd, PBM_SETMARQUEE, (WPARAM)fMarqueeMode, (LPARAM)nInterval); }
#endif // defined(UNICODE)
我正在尝试在代码上使用以下SendMessage函数作为字幕样式。但它不起作用。
::SendMessage(m_hWnd, PBM_SETMARQUEE, (WPARAM)TRUE, (LPARAM)1);
在这个问题上,你能帮我吗?
谢谢! Vijay Kumbhani
答案 0 :(得分:0)
找到答案。
我需要创建CProgressCtrl的类对象
CProgressCtrl progressCtrl;
LRESULT lResult = ::SendMessage(progressCtrl, PBM_SETMARQUEE, (WPARAM)TRUE, (LPARAM)1);
您需要将 Progress Ctrl 对象作为HANDLE传递给SendMessage函数。