#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
왜 이러한 태그를 정의합니까?이 C++ 코드 스 니펫은 무엇을합니까?
CSortHeaderCtrl::CSortHeaderCtrl()
: m_iSortColumn(-1)
, m_bSortAscending(TRUE)
{
}
콜론을 사용한 후 두 기능은 무엇입니까?
BEGIN_MESSAGE_MAP(CSortHeaderCtrl, CHeaderCtrl)
//{{AFX_MSG_MAP(CSortHeaderCtrl)
// NOTE - the ClassWizard will add and remove mapping macros here.
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
이와 비슷한 C# 같은 것들이 있습니까?
이 용도는 무엇입니까?
virtual ~CSortHeaderCtrl();
왜 소멸자 기능을 가상으로 설정합니까?
void CSortHeaderCtrl::Serialize(CArchive& ar)
이 기능은 언제 호출됩니까?
부모로부터 연장 되었습니까?
그런데 MFC 클래스를 확장하려면 어떤 문서를 읽을 것입니까?
우리는 어떤 기능을 가지고 있는지 모르기 때문에 어떤 기능을 대체 할 수 있습니까? 질문 2에 관해서는
/* File: SortHeaderCtrl.h
Purpose: Provides the header control, with drawing of
the arrows, for the list control.
*/
#ifndef SORTHEADERCTRL_H
#define SORTHEADERCTRL_H
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class CSortHeaderCtrl : public
CHeaderCtrl { // Construction public:
CSortHeaderCtrl();
// Attributes public:
// Operations public:
// Overrides // ClassWizard generated
virtual function overrides
//{{AFX_VIRTUAL(CSortHeaderCtrl)
public: virtual void Serialize(CArchive& ar);
//}}AFX_VIRTUAL
// Implementation public: virtual
~CSortHeaderCtrl();
void SetSortArrow(
const int iColumn,
const BOOL bAscending);
// Generated message map functions
protected:
void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
int m_iSortColumn;
BOOL m_bSortAscending;
//{{AFX_MSG(CSortHeaderCtrl) //
NOTE - the ClassWizard will add and
remove member functions here.
//}}AFX_MSG
DECLARE_MESSAGE_MAP() };
//{{AFX_INSERT_LOCATION}} // Microsoft
Visual C++ will insert additional
declarations immediately before the
previous line.
#endif // SORTHEADERCTRL_H
무효 CSortHeaderCtrl :: 직렬화 (CArchive & AR) 때이 함수가 호출됩니다? 이게 부모에게서 연장 된거야? 그런데 MFC 클래스를 확장하려면 어떤 문서를 읽어야합니까? 우리는 어떤 기능을 가지고 있는지 모르기 때문에 어떤 기능을 무시할 수 있습니까? 누구든지이 마지막 질문에 대답합니까? 감사합니다. – MemoryLeak