наследуемого от стандартного класса.
1.создаем класс
2.указываем базовый класс
class CModelListFiles : public CListCtrl
Для использования из вызывающего класса нам нужно получить указатель на родительский класс. Для этого:
1.перегружаем метод Create где в третьем параметре получаем указатель на родителя
BOOL CModelListFiles::Create(DWORD dwStyle, const RECT &rect, CModelDlg *pParent, UINT nID)
{
if(!CListCtrl::Create(dwStyle,rect,pParent,nID)) return FALSE; //вызов метода базового класса
m_parent=pParent; //окно-родитель
return TRUE;
}
2.в хэдэре перед определением нашего класса обьявляем вызывающий класс
class CModelDlg;
3.в определении нашего класса создаем указатель на родителя
CModelDlg *m_parent;
4.включаем #include "ModelDlg.h"
в cpp нашего класса
ModelListFiles.h - визуальный класс наследуемый от CListCrtl
#if !defined(AFX_MODELLISTFILES_H__DEB17F5E_9013_49CA_8947_CCEBC974EF4F__INCLUDED_)
#define AFX_MODELLISTFILES_H__DEB17F5E_9013_49CA_8947_CCEBC974EF4F__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class CModelDlg;
class CModelListFiles : public CListCtrl
{
public:
CModelDlg *m_parent;
CModelListFiles();
virtual ~CModelListFiles();
private:
BOOL Create(DWORD dwStyle,const RECT& rect,CModelDlg *pParent,UINT nID);
};
#endif // !defined(AFX_MODELLISTFILES_H__DEB17F5E_9013_49CA_8947_CCEBC974EF4F__INCLUDED_)
ModelListFiles.cpp
#include "stdafx.h"
#include "ModelListFiles.h"
#include "ModelDlg.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CModelListFiles::CModelListFiles()
{
}
CModelListFiles::~CModelListFiles()
{
}
BOOL CModelListFiles::Create(DWORD dwStyle, const RECT &rect, CModelDlg *pParent, UINT nID)
{
if(!CListCtrl::Create(dwStyle,rect,pParent,nID)) return FALSE; // Âûçîâ ìåòîäà áàçîâîãî êëàññà
m_parent=pParent; // îêíî-ðîäèòåëü
return TRUE;
}
ModelDlg.h
#if !defined(AFX_MODELDLG_H__D27F3632_A29D_4E97_B85B_F672DFCD102C__INCLUDED_)
#define AFX_MODELDLG_H__D27F3632_A29D_4E97_B85B_F672DFCD102C__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// ModelDlg.h : header file
//
#include "CustFilesEdit.h"
/////////////////////////////////////////////////////////////////////////////
// CModelDlg dialog
class CModelDlg : public CDialog
{
// Construction
public:
CModelDlg(CWnd* pParent = NULL); // standard constructor
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_MODELDLG_H__D27F3632_A29D_4E97_B85B_F672DFCD102C__INCLUDED_)
ModelDlg.cpp
#include "stdafx.h"
#include "ModelDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CModelDlg dialog
CModelDlg::CModelDlg(CWnd* pParent /*=NULL*/)
: CDialog(CModelDlg::IDD, pParent),
m_CustFilesBox(this)
{
//{{AFX_DATA_INIT(CModelDlg)
m_NoEdit = FALSE;
//}}AFX_DATA_INIT
}
Ярлыки
- С++ (3)
- Стихи (1)
- тонировка (1)
- Цитаты (2)
- ALTlinux (1)
- Apache (2)
- big-endian (1)
- Blogger (1)
- books (3)
- books links (1)
- Buisness (10)
- C (1)
- C# (5)
- c++ (27)
- car (8)
- Cheat (1)
- CSS (1)
- DLL (1)
- Draw (1)
- Eclipse (2)
- Films (1)
- Firefox (4)
- Flash (1)
- GTK (2)
- GUI (1)
- Home server (1)
- Hotels (1)
- HTML (6)
- IE (1)
- Internet (2)
- Java (1)
- JavaScript (6)
- jQuery (1)
- KDE (1)
- KeeTouch (1)
- Linux (34)
- little-endian (1)
- Makefile (1)
- MFC (6)
- multi-thread (2)
- Music (1)
- ODBC (2)
- OpenBox (2)
- photo (4)
- PHP (38)
- programing (2)
- proxy (1)
- QML (37)
- Qt (41)
- QtCreator (2)
- RegExp (3)
- Shopping (12)
- shutdown (1)
- Soft (1)
- Sound Card (1)
- SQL (1)
- SQL Server (14)
- Subversion (1)
- SVN (1)
- teach (4)
- text-editor (1)
- Travels (1)
- Ubuntu (38)
- Upstart (1)
- Vi (2)
- VirtualBox (2)
- Virtualization (1)
- vkontakte.ru (1)
- Web (2)
- Web-Kit (5)
- WinAPI (7)
- Windows (4)
Комментариев нет:
Отправить комментарий