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

1 ... 138 139 140 [ 141 ] 142 143 144 ... 150


ПРИМЕЧАНИЕ: мастер классов будет добавлять и удалять здесь

макросы схемы событий.

НЕ РЕДАКТИРУЙТЕ то, что здесь находится.

} }AFX EVENT MAP END EVENT MAP ( )

/

Страницы свойств

TODO: Сюда можно добавлять новые страницы свойств. Не забудьте увеличить значение счетчика!

BEGIN PROPPAGEIDS (CTDCtrlctrl, 1)

PROPPAGEID (CTDCtrlPropPage : : quid) END PROPPAGEIDS (CTDCtrlctrl)

/

Инициализация фабрики класса и формирование GUID IMPLEMENT OLECREATE EX (CTDCtrlCtrl, TDCTRL . TDCtrlCtrl .1 ,

Oxc0377506, Oxb276, Oxlldl, Oxba, Oxe9, 0, OxaO, Oxc9, Ox8c, Oxc4, Охбе)

/

Идентификатор библиотеки типов и ее версия IMPLEMENt OLETYPELIB (CTDCtrlCtrl, tlid, wVerMajor, wVerMinor)

/

Идентификаторы интерфейсов const IID BASED CODE IID DTDCtrl =

{ Oxc0377504, Oxb276, Oxlldl, { Oxba, Oxe9, 0, OxaO, Oxc9,

Ox8c, Oxc4, Охбе } } ;

const IID BASED CODE IID DTDCtrlEvents =

{ Oxc0377505, Oxb276, Oxlldl, { Oxba, Oxe9, 0, OxaO, Oxc9, Ox8c, Oxc4, Ох6е } ) ;

/

Информация о типе элемента управления

static const DWORD BASED CODE dwTDCtr!01eMisc =

OLEMISC ACTIVATEWHENVISIBLE I OLEMISC SETCLIENTSITEFIRST

OLEMISC INSIDEOUT OLEMISC CANTLINKINSIDE I

OLEMISC RECOMPOSEONRESIZE;

IMPLEMENT OLECTLTYPE (CTDCtrlCtrl, IDSJTDCTRL, dwTDCtr!01eMisc)

/

CTDCtrlCtrl: :CTDCtrlCtrlFactory: :UpdateRegistry Добавляет и удаляет записи системного реестра для класса CTDCtrlCtrl

BOOL CTDCtrlCtrl: : CTDCtrlCtrlFactory : :UpdateRegistry (BOOL bReglster)

TODO: Проверьте, соответствует ли элемент управления правилам изолированной потоковой модели. За информацией обратитесь к разделу документации MFC TechNote64.

Если элемент управления не поддерживает эту модель, замените шестой параметр константой afxReglnsertable. if (bRegister)

return AfxOleRegisterControlClass ( AfxGetlnstanceHandle () , m clsid, m lpszProgID,

IDSJTDCTRL, IDBJTDCTRL,

afxReglnsertable I afxRegApartmentThreadlng, dwTDCtr!01eMisc,



tlid, wVerMajor, wVerMinor) ; else

return AfxOleUnregisterClass(m clsid, m lpszProgID); }

/

CTDCtrlCtrl::CTDCtrlCtrl - Конструктор CTDCtrlCtrl::CTDCtrlCtrl() {

InitializellDs(SIID DTDCtrl, SIID DTDCtrlEvents);

TODO: В этом месте инициализируйте данные

текущего экземпляра элемента управления.

/

CTDCtrlCtrl::-CTDCtrlCtrl - Деструктор

CTDCtrlCtrl: : -CTDCtrlCtrl( )

TODO: В этом месте удалите данные

текущего экземпляра элемента управления.

/

I/ CTDCtrlCtrl::OnDraw- Функция отображения

void CTDCtrlCtrl::OnDraw(CDC* pdc, const CRect SrcBounds,

const CRect Srclnvalid) {

TODO: Замените следующие операторы

собственными операторами отображения.

pdc->FillRect(rcBounds,

CBrush::FromHandle((HBRUSH)GetStockObject(WHITE BRUSH)))

pdc->Ellipse(rcBounds); }

CTDCtrlCtrl::DoPropExchange - Поддержка постоянства элемента void CTDCtrlCtrl::DoPropExchange(CPropExchange* pPX) f ExchangeVersion(pPX, MAKELONG( wVerMinor, wVerMajor)); COleControl::DoPropExchange(pPX) ;

TODO: Поместите здесь вызовы РХ -функций для каждого постоянного пользовательского свойства.

/

CTDCtrlCtrl::OnResetState- Восстанавливает первоначальное состояние элемента управления

void CTDCtrlCtrl::OnResetState() {

COleControl::OnResetState(); Сброс значений, установленных в методе DoPropExchange()

TODO: Восстановите здесь все остальные переменные состояния элемента управления. )

/

CTDCtrlCtrl::AboutBox- Отображает окно About

void CTDCtrlCtrl::AboutBox() {

CDialog dlgAbout(IDD ABOUTBOX TDCTRL) ;

dlgAbout.DoModal();

/

Обработчики сообщений класса CTDCtrlCtrl

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

Механизм автоматизации заключается в вызове методов и свойств элементов управления из разных приложений. Эти запросы распределяются посредством схемы диспетчеризации. Схема событий помогает обрабатывать события элемента управления.



Функция OnDraw() скоро станет объектом нашего особого внимания, поскольку это именно тот блок программы, который отвечает за вывод графического образа элемента управления. По умолчанию в созданном мастером элементе управления ActiveX вызывается функция Ellipse() , выводящая на экран эллипс.

/

CTDCtrlCtrl :: OnDraw- Функция отображения

void CTDCtrlCtrl: : OnDraw (CDC* pdc, const CRect SrcBounds, const

CRect Srclnvalid) {

TODO: Замените следующие операторы

собственными операторами отображения.

pdc->FillRect (rcBounds,

CBrush: :FromHandle( (HBRUSH) GetStockObject (WHITE BROSH) ) ) ; pdc->Ellipse (rcBounds) ; }

Мастер ControlWizard также создает для разрабатываемого проекта диалоговое окно About. Содержимое окна можно изменить таким образом, чтобы в нем отражалась специфическая информация о проекте. Описание окна вы найдете в файле TDCTRL.RC, а выводится оно на экран посредством следующей функции:

/

CTDCtrlCtrl: :AboutBox- Отображает окно About void CTDCtrlCtrl.: :AboutBox () {

CDialog dlgAbout (IDD ABOUTBOX TDCTRL) ; dlgAbout . DoModal ( } ;

Файл TDCTRLPPG.CPP

Этот файл содержит реализацию класса CTDCtrlPropPage, являющегося потомком класса COlePropertyPage.

TDCtrlPpg.cpp: реализация класса CTDCtrlPropPageстраницы свойств.

#include stdafx.h

#include TDCtrl.h

#include TDCtrlPpg.h

#ifdef DEBUG

#define new DEBUG NEW

#undef THIS FILE

static char THIS FILE[] = FILE ;

#endif

IMPLEMENT DYNCREATE(CTDCtrlPropPage, COlePropertyPage)

/

Схема сообщений

BEGIN MESSAGE MAP(CTDCtrlPropPage, COlePropertyPage) {{AFX MSG MAP(CTDCtrlPropPage)

ПРИМЕЧАНИЕ: мастер классов будет добавлять и удалять здесь

макросы схемы сообщений.

НЕ РЕДАКТИРУЙТЕ то, что здесь находится.

}}AFX MSG MAP END MESSAGE MAP ()

/

Инициализация фабрики классов и формирование GUID

IMPLEMENT OLECREATE EX(CTDCtrlPropPage, TDCTRL.TDCtrlPropPage.1 , Oxc0377507,

Oxb276, Oxlldl, Oxba, Oxe9, 0, OxaO, Oxc9, Ox8c, Oxc4, Ох6е)

/

CTDCtrlPropPage::CTDCtrlPropPageFactory::UpdateRegistry - Добавляет и удаляет записи системного реестра для класса CTDCtrlPropPage



1 ... 138 139 140 [ 141 ] 142 143 144 ... 150

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