在ListView中如何使用自定义的ListCtrl? 通过CListView的GetListCtrl()函数可以获得CListCtrl对象,我现在有一个自定义类CMyListCtrl(继承了CListCtrl),但是不知道应该如何对应上CListView中的那个CListCtrl对象,我应该怎么做?谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1.在视图里定义CMyListCtrl最成员对象,在OnInitUpdate函数里 CRect rect; GetClientRect(&rect); MoveWindow()函数把你自己的控件占满整个客户区就可以了。 本帖最后由 laiyiling 于 2008-04-20 15:38:47 编辑 变通一下:自己定义一个视图类,类中定义一个自己的ListCtrl类对象。响应视图类的WM_CREATE消息,在调用完基类的OnCreate函数之后,执行ListCtrl类对象的Create函数。再响应视图类的WM_SIZE消息,用GetClientRect取视图客户区矩形,ClientToScreen转成屏幕坐标,再调ListCtrl类对象的MoveWindow。 直接使用子类化即可,在view类里添加一个ListCtrl继承类的实例成员(比如CMyListCtrl m_myListCtrl),在OnCreate或者OnInitUpdate里面调用:m_myListCtrl.SubclassWindow(GetListCtrl()); 在使用CMyListCtrl的那个窗口 声明一个 CMyListCtrl m_Ctrl;void CMyDlg::DoDataExchange(CDataExchange* pDX){ CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CMyDlg) DDX_Control(pDX, IDC_MY_LIST_VIEW, m_Ctrl); //}}AFX_DATA_MAP}这样,这个窗口的CListView就和你的类绑定了吧。也可以试试重载一个CListView,然后在这个CListView重载上面的函数,一样有效。这个时候,你就有一个通过你的CMyListCtrl来控制的CListView了。 MFC如何实现文件拖拽到窗口内,获得该文件信息 CFlie FILE 一个引用问题!! 华为3COM 多视图的打印和打印预览? 消息的问题!高分!急! MFC的控件问题 执行SQL时出现这样的错误 求助,位图显示,颜色不对,右边小部分在左边显示颜色正常,剩下的红色和蓝色颠倒 我真的不知道!你能告诉我吗?(分不是问题!关键是解决问题) 如何动态为picture控件加载图片 如何向本机网卡发送网络数据?
在视图里定义CMyListCtrl最成员对象,在OnInitUpdate函数里
CRect rect;
GetClientRect(&rect);
MoveWindow()函数把你自己的控件占满整个客户区就可以了。
m_myListCtrl.SubclassWindow(GetListCtrl());
在使用CMyListCtrl的那个窗口 声明一个 CMyListCtrl m_Ctrl;void CMyDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CMyDlg)
DDX_Control(pDX, IDC_MY_LIST_VIEW, m_Ctrl);
//}}AFX_DATA_MAP
}
这样,这个窗口的CListView就和你的类绑定了吧。也可以试试重载一个CListView,然后在这个CListView重载上面的函数,一样有效。这个时候,你就有一个通过你的CMyListCtrl来控制的CListView了。