Программирование >>  Процедурные приложения 

1 ... 102 103 104 [ 105 ] 106 107 108 ... 150


CObject(const CObjectS objectSrc); реализация отсутствует

void operator=(const CObjectS objectSrc); реализация отсутствует Атрибуты public:

BOOL IsSerializableOconst;

BOOL IsKindOf(const CRuntimeClass* pClass) const; Виртуальные методы

virtual void Serialize (CArchiveS ar) ;

Поддержка диагностики

virtual void AssertValidO const;

virtual void Dump (CDumpContextS. dc) const;

Реализация

public:

static const AFX DATA CRuntimeClass classCObject; #ifdef AFXDLL

static CRuntimeClass* PASCAL GetBaseClass();

#endif };

В данном примере программный код для большей ясности слегка отредактирован, но в целом это тот же код, который вы найдете в указанном файле.

Обратите внимание, из каких компонентов состоит описание класса CObject. Как видите, здесь четко прослеживается выделение блоков открытых (public), закрытых (private) и защищенных (protected) членов класса. CObjectтакже обеспечивает возможность динамического определения типа и сериализации. Вспомните, что возможность динамической проверки типа позволяет определять тип объекта во время выполнения программы. Сведения о состоянии объекта можно сохранить в файле на диске, благодаря чему реализуется концепция постоянства.

Все остальные классы MFC порождаются от CObject. Примером такого класса может служить CGdiObject(объявлен в файле AFXWIN.H), описание которого приведено ниже.

/

Абстрактныйкласс CGdiObject дляметода CDC: :SelectObject class CGdiObject : public CObject {

DECLARE DYNCREATE (CGdiObject)

public:

Атрибуты

HGDIOBJ m hObject; должна быть первой переменной-членом operator HGDIOBJ () const;

HGDIOBJ GetSafeHandleO const;

static CGdiObject* PASCAL FromHandle (HGDIOBJ hObject) ; static void PASCAL DeleteTempMap () ; BOOL Attach (HGDIOBJ hObject) ; HGDIOBJ Detach () ;

Конструкторы

CGdiObject() ; должен создавать объект производного класса

BOOLDeleteObject() ; Методы

int GetObject (int nCount, LPVOID IpObject) const;

UINT GetObjectTypeO const;

BOOL CreateStockObject (int nlndex) ;

BOOL UnrealizeObjectO ;

BOOL operator- (const CGdiObjectS ob j ) const; root. nnf=rator! = (const CGdiObiectS obi)const; Реализация



public:

virtual -CGdiObject() ; tifdef DEBUG

virtual void Dump (CDumpContextS. dc) const; virtual void AssertValid() const; #endif };

Класс CGdiObjectи его методы позволяют создавать и использовать в приложениях такие графические объекты, как перья, кисти и шрифты. От CGdiObject порождаются некоторые другие классы, в частности CPen.

Библиотека MFC поставляется вместе с исходными текстами классов, что дает возможность программистам настраивать базовые классы в соответствии со своими потребностями. Впрочем, для начинающих программистов нет никакой необходимости заниматься редактированием MFC и даже знать, как реализован тот или иной класс.

Например, в традиционных процедурных программах вызов функции DeleteObject()имеет следующий синтаксис:

DeleteObject(hBRUSH); /* где hBRUSH- дескриптор кисти */ В MFC -приложениях того же результата можно достичь путем вызова функции-члена: newbrush.DeleteObject (); где newbrush- текущая кисть Иерархия классов MFC

Ниже показан список классов библиотеки MFC , порожденных от CObject.

CObject

CException

CArchiveException CDaoException CDBException CFileException CInternetException CMemoryException CNotSupportedException COleDispatchException COleException CResourceException CUserException CFile CMemFile CSharedFile COleStreamFile CMonikerFile CAsyncMonikerFile CDataPathProperty CCachedDataPathProperty CSocketFile CStdioFile CInternetFile CGopherFile CHttpFile

CRecentFileList CDC

CClientDC

CMetaFileDC

CPaintDC

CWindowDC

CDocState

CImageList

CGdiObject

CBitmap

CBrush



CFont

CPalette

CPen

CRgn CMenu

CCommandLinelnfo

CDatabase

CRecordSet

CLongBinary

CDaoDatabase

CDaoQueryDef

CDaoRecordSet

CDaoTableDef

CDaoWorkspace

CSyncObject

CCriticalSection

CEvent

CMutex

CSemaphore CAsyncSocket

CSocket

CArray

CByteArray

CDWordArray

CObArray

CPtrArray

CStringArray

CUIntArray

CWordArray

CList

CObList

CPtrList

CStringList

CMap

CMapWordToOb CMapWordToPtr

CMapPtrToPtr

CMapPtrToWord

CMapStringToOb

CMapStringToPtr

CMapStringToString

CInternetSession

CInternetconnection

CFtpConnection

CGopherConnection

CHttpConnection

CFileFind

CFtpFileFind

CGopherFileFind

CGopherLocator

CCmdTarget

CWinThread

CWinApp

COleControlModule

CDocTemplate

CMultiDocTemplate



1 ... 102 103 104 [ 105 ] 106 107 108 ... 150

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика