C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 1 - Первый элемент ActiveX / ActiveX по шагам / Приложение

Шаг 1 - Первый элемент ActiveX

Итак, запускайте VC и создавайте новый проект. Тип проекта MFC ActiveX ControlWizard. Дайте имя проекта DMyActive1 и жмите OK. В Step1 ничего не меняйте. А в шаге 2 установите галочку напротив Available in "Insert Object" dialog. И жмите Finish. Вам покажут окно с информацией, на что Вы должны ответить OK.

У Вас сформировалось несколько классов.

CDMyActive1App
CDMyActive1Ctrl
CDMyActive1PropPage

Мудрить мы сейчас особо не будем. Нас интересует класс CDMyActive1Ctrl. Выведите список методов в окне ClassView. Там Вы увидите метод OnDraw(). Именно он и отвечает за прорисовку элемента. Двойным щелчком перейдите на его реализацию. Код должен быть таким:

///////////////////////////////////////////////////
// CDMyActive1Ctrl::OnDraw - Drawing function

void CDMyActive1Ctrl::OnDraw(
			CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid)
{
	// TODO: Replace the following code with your own drawing code.
	pdc->FillRect(rcBounds, CBrush::FromHandle((HBRUSH)GetStockObject(WHITE_BRUSH)));
	pdc->Ellipse(rcBounds);
}

Сначала закрашивается белый прямоугольник, а потом выводится эллипс. Давайте будем выводить не эллипс, а текст. Поменяте код на этот:

void CDMyActive1Ctrl::OnDraw(
			CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid)
{
	// TODO: Replace the following code with your own drawing code.
	pdc->FillRect(rcBounds, CBrush::FromHandle((HBRUSH)GetStockObject(WHITE_BRUSH)));
	pdc->TextOut(1,1,"My ActiveX");
}

И всё. Идите в меню Build и выбирайте пункт меню Build CDMyActive1.ocx. Будет проведено много действий, в том числе и регистрация элемента. Оставим пока все эти сложности. Главное элемент готов.

Запускайте Word или Excel. Выбирайте "вставка -> объект". В списке объектов должен появиться Ваш элемент.

1_1.gif (4654 b)

Выберите его и нажмите OK, он появится. И как раз с надписью My ActiveX. Правда с ним практически ничего нельзя делать. Но это пока нельзя. Вот как он выглядит в Word:

1_2.gif (5731 b)


Загрузить проект | |
Автор Каев Артем.
[AD]