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 руб./мес


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




 11 - Тестируем элемент на VC / ActiveX по шагам / Приложение

Шаг 11 - Тестируем элемент на VC

Запускаем VC и MFC AppWizard. Имя приложения TestVC. На шаге 2 выбираем Single Document. На шаге 3 container и сразу Finish. Итак проект мы сформировали. Теперь нам надо добавить класс элемента. Нам нужен пункт View и ClassVizard. Переходим на вкладку Automation. Нажимаем кнопку Add Class и дальше From a type library. Теперь нам надо найти наш файл TLB. Он лежит в папке с проектом. У меня вот где.

11_1.gif (3862 b)

Выбираете его. В ответ появится окно Confirm Class с именем IATLClass жмите OK и кнопкой OK закрывайте ClassVizard.

В ClassView Вы должны увидеть, что добавился новый класс - IATLClass. Теперь в классе вида CTestVCView создадим реакцию на нажатие левой кнопки мыши. Выделяем класс. Нажимаем правой кнопой мыши и выбираем Add Windows Message Handle. Ищем сообщение WM_LBUTTONDOWN два раза шелкаем на него оно появляется в правом окне и опять два раза на нем. Вот где Вы окажетесь.

void CTestVCView::OnLButtonDown(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default
	
	CView::OnLButtonDown(nFlags, point);
}

Здесь мы и будем организовывать работу с нашим объектом. Это файл TestVCView.cpp. Чтобы работать с классом его описание необходимо подключить. Описание класса находится в atltest.h. Впишите подключение заголовоного файла в TestVCView.cpp.

.....
#include  "atltest.h"
//////////////////////////////////////////////
// CTestVCView
.....

Теперь создадим экземпляр класса.

void CTestVCView::OnLButtonDown(UINT nFlags, CPoint point) 
{
	IATLClass atlcl;
	CView::OnLButtonDown(nFlags, point);
}

Свяжем его с объектом:

void CTestVCView::OnLButtonDown(UINT nFlags, CPoint point) 
{
	IATLClass atlcl;
	atlcl.CreateDispatch("ATLTest.ATLClass.1");
	CView::OnLButtonDown(nFlags, point);
}

Откуда я взял ATLTest.ATLClass.1? Из реестра. Запустил RegEdit и вот здесь :-) Ведь элемент при компиляции и сборке регистрировался. И информация о нем естественно есть в реестре.

11_2.gif (3798 b)

Вызовем метод.

void CTestVCView::OnLButtonDown(UINT nFlags, CPoint point) 
{
	IATLClass atlcl;
	atlcl.CreateDispatch("ATLTest.ATLClass.1"); 
	atlcl.ATLMessage(); 
	CView::OnLButtonDown(nFlags, point);
}

Компилируйте, запускайте. По нажатию на мышку должно появиться окно сообщения, которое мы запрограммировали при создании объекта.

11_3.gif (2500 b)

Вот так все просто :-)) Создание компонент, которые могут использоваться и в VC и VB и вообще-то везде это классно. Концепция повторного использования кода в жизни !!!. Создание компонент это целое направление компьютерного бизнеса. Уже сейчас программирование похоже на сборку компонент в нужном порядке.


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