请问关于SubclassWindow关联控件函数的用法问题。

allen_lanyuhai 2012-09-04 05:23:53
各位大神们,请问大家,我想自绘控件ListCtrl的头控件(HeaderCtrl),我在CMyListCtrl继承类中添加了一个关联头控件的函数,在函数中添加了 m_HeaderCtrl.SubclassWindow(GetHeaderCtrl()->GetSafeHwnd())这个函数,我尝试过在VC6.0上添加,可以成功编译成功,但是在VS 2005就不能通过编译,显示的错误是"(",就觉得很奇怪,我明明括号什么都没什么问题,在VC6.0上都能编译成功,但是在VS2005就会出现这样的问题,而且还有一个很不知道的问题觉得有点奇怪,就是把它改成m_HeaderCtrl.SubclassWindow就能成功,括号和括号里的参数都去掉了,却能编译成功,请问各位大神,这个问题要怎么解决?谢谢 ...100分酬谢 。.
...全文
162 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
向立天 2013-03-18
  • 打赏
  • 举报
回复
您好
我是本版版主
此帖已多日无人关注
请您及时结帖
如您认为问题没有解决可按无满意结帖处理
另外本版设置了疑难问题汇总帖
并已在版面置顶
相关规定其帖子中有说明
您可以根据规定提交您帖子的链接
如您目前不想结帖只需回帖说明
我们会删除此结帖通知

见此回复三日内无回应
我们将强制结帖
相关规定详见界面界面版关于版主结帖工作的具体办法
Eleven 2012-09-05
  • 打赏
  • 举报
回复
CWnd::SubclassWindow 
BOOL SubclassWindow(
HWND hWnd
);

你上面的那句是下载CListCtrl派生的类的某一个函数中吗?
贴出来看看上下文
zjs100901 2012-09-05
  • 打赏
  • 举报
回复
[Quote=引用楼主的发言:]
而且还有一个很不知道的问题觉得有点奇怪,就是把它改成m_HeaderCtrl.SubclassWindow就能成功,括号和括号里的参数都去掉了,却能编译成功
[/Quote]
这能理解。就是你写了个函数地址放在那,C++不认为是错误。
int main()
{
main;
return 0;
}

这样能编译成功,但有一个警告。
allen_lanyuhai 2012-09-05
  • 打赏
  • 举报
回复
各位,具体函数是这样的。
void CMyListCtrl::OnSetHeader()
{
m_HeaderCtrl.SubclassWindow(GetHeaderCtrl()->GetSafeHwnd());
}
上面的函数在VC6.0能编译通过,不会出现错误,但是,在VS 2005上就会出现错误,显示"(",有一个括号的错误显示。要怎样才能保证不会在VS 2005上编译出错,请问大家有什么方法可以解决?谢谢。

void CMyListCtrl::OnSetHeader()
{
m_HeaderCtrl.SubclassWindow;
}
而我说的把括号和参数去掉之后能在VS2005上编译成功就是上面的语句。

请问大家有什么方法可以解决?谢谢。
zgl7903 2012-09-04
  • 打赏
  • 举报
回复
难道是你的头控件里添加了有关SubclassWindow的什么代码,而又没有添加完整?
oyljerry 2012-09-04
  • 打赏
  • 举报
回复
还是查看一下具体的代码和出错的地方,感觉问题不是很明确
allen_lanyuhai 2012-09-04
  • 打赏
  • 举报
回复
各位不好意思,说100酬谢,结果分数设定错了,那就应该是60分 。。 谢啦..

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧