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


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




 257 - Создание ActiveX контейнера / MFC шаг за шагом / Visual C++

Шаг 257 - Создание ActiveX контейнера

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

  • На шаге 3 AppWizard установить галочку ActiveX Control(у диалога шаг 2).
  • Добавить поддержку ActiveX в Ваше программу.
  • Использовать компоненты из Controls Gallery.

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

257_1.gif (4201 b)

Это понятно. Давайте сделаем поддержку ActiveX вручную. Возьмем и создадим проект с именем Test1 на базе диалогового окна. Отключим поддержку ActiveX в AppWizard. Вставим на диалоговую панель Calendar Control 8.0. Попробуйте запустить приложение. Ничего не произойдет и приложение не запустится. Что надо сделать ??? Первое - это включить Afxdisp.h в Stdafx.h.

// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently, but
// are changed infrequently
//
......
#include	// MFC support for Internet Explorer 4 Common Controls
#include	// My support ActiveX
#ifndef _AFX_NO_AFXCMN_SUPPORT
......
#endif // !defined(AFX_STDAFX_H__8CB63D09_AF68_11D4_9413_8EB12D328D60__INCLUDED_)

Использовать функцию AfxEnableControlContainer() для инициализации механизма работы с элементами ActiveX.

void AfxEnableControlContainer();

Это мы и сделаем:

OOL CTest1App::InitInstance()
{
	// Standard initialization
	// If you are not using these features and wish to reduce the size
	//  of your final executable, you should remove from the following
	//  the specific initialization routines you do not need.
AfxEnableControlContainer();
#ifdef _AFXDLL
	......
};

И приложение запустится и на диалоговом окне будет календарь.

Давайте теперь создадим опять приложение на базе диалогового окна без поддержки ActiveX с именем Test2. Теперь будем добавлять в проект компонент. Через Project -> Add To Project -> Component and controls. Дальше пойдем в папку Register ActiveX component и выберем Microsoft Flex Grid Control, после чего нажмем Import. После этого значек данного элемента появится в списке элементов.

257_2.gif (9410 b)

Приложение сейчас не запустится. Вам нужно в ручную подключить поддержку как написано Выше или изначально устанавливать флажок на галочке ActiveX control при создании приложения AppWizard.


| |
Автор Каев Артем.
[AD]