请教 CListCtrl在Report模式下怎么让Column Header之间的竖线不出现,鼠标在Column Header上不可以调整Column的大小,鼠标的形状在这里也
请教 CListCtrl在Report模式下怎么让 Column Header 之间的竖线不出现,鼠标在Column Header上不可以调整Column的大小,鼠标的形状在这里也不变成调整Column大小的形状
问题点数:100、回复次数:9Top
1 楼laiyiling(陌生人[MVP])回复于 2006-06-02 14:49:47 得分 100
派生CHeaderCtrl.看下面的类
=======头文件===========
class CColPropHeader : public CHeaderCtrl
{
DECLARE_MESSAGE_MAP()
afx_msg BOOL OnSetCursor( CWnd* pWnd, UINT nHitTest, UINT message );
public:
bool InitSubClassHeader(CHeaderCtrl *pHeader);
};
==========CPP文件=========
BEGIN_MESSAGE_MAP(CColPropHeader, CHeaderCtrl)
//{{AFX_MSG_MAP(CColPropHeader)
ON_WM_SETCURSOR()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
BOOL CColPropHeader::OnSetCursor( CWnd* pWnd, UINT nHitTest, UINT message )
{
return true;
}Top
2 楼laiyiling(陌生人[MVP])回复于 2006-06-02 14:50:29 得分 0
少贴了一个函数
bool CColPropHeader::InitSubClassHeader(CHeaderCtrl *pHeader)
{
ASSERT(pHeader && pHeader->GetSafeHwnd());
if (!SubclassWindow(pHeader->GetSafeHwnd()))
{
OutputDebugString(_T("Unable to subclass existing header!\n"));
return false;
}
return true;
}Top
3 楼laiyiling(陌生人[MVP])回复于 2006-06-02 14:52:25 得分 0
然后在对话框里定义
CColPropHeader m_ColHeader;
OnInitDialog函数里调用
m_ColHeader.InitSubClassHeader(this->m_ColProp.GetHeaderCtrl());
这里的m_ColProp就是你的CListCtrl类对象Top
4 楼yaocj(yaocj)回复于 2006-06-02 15:21:13 得分 0
上面的方法测试了,不行,
请做个测试的程序试试您的方法Top
5 楼laiyiling(陌生人[MVP])回复于 2006-06-02 15:26:41 得分 0
你测试有问题Top
6 楼yaocj(yaocj)回复于 2006-06-02 15:37:36 得分 0
请发个简单的基于Dialog的测试程序过来,谢谢 yax2001@163.netTop
7 楼yaocj(yaocj)回复于 2006-06-20 12:00:58 得分 0
虽然不对还是给你分Top
8 楼laiyiling(陌生人[MVP])回复于 2006-06-20 12:15:16 得分 0
不对?我都用了几年了。你没有用好啊Top
9 楼yaocj(yaocj)回复于 2006-06-21 07:41:10 得分 0
不该个你分,上面的代码明显的错误是少了几个空格,修正以后也不能完成功能Top




