Создаем проект Win32 Console с именем TestCom. Выберите тип а simple application. Теперь мы создадим класс, смысл которого будет простой. В него можно поместить число, а получить назад его квадрат. Тупо конечно. Но за то просто и не надо отвлекаться. Так что Вы меня простите за этот пример. Теперь нам в проект нужно добавить класс как в "Шаг 16 - Класс для буфера обмена (Clipboard)".
Описываем функции.
class CSqrt
{
public:
CSqrt();
virtual ~CSqrt();
int GetX(); // получить х
void SetX(int xx); // установить х
protected:
int x; // переменная для хранения
};
И реализацию.
................
int CSqrt::GetX() // получить х
{
return x*x;
}
void CSqrt::SetX(int xx) // установить х
{
x=xx;
}
Проверяем код.
#include "stdafx.h"
#include "Sqrt.h"
#include "iostream.h"
int main(int argc, char* argv[])
{
CSqrt cs;
cs.SetX(3);
cout << cs.GetX() << endl;
return 0;
}
Запускайте и компилируйте. Если у Вас появилось окно с надписью, как ниже, значит наш пример готов.
9
Press any key to continue
Вот теперь мы будем сохранять наш класс в галерею. Правой кнопкой мыши и добавить в галерею.
Конечно, он сохранил наш класс. Где? Смотрите.
Версия 5
Program Files\DevStudio\SharedIDE\Gallery
Версия 6
Program Files\Microsoft Visual Studio\Common\MSDev98\Gallery\TestCom
Вот в этих каталогах будет находиться файл с расширением OGX. Это и есть наш класс упакованный в файл.
Теперь как им пользоваться. Создавайте второй проект WIN 32 Console с именем TestCom2 точно такой же как и первый. Давайте добавим наш класс к проекту.
Итак, выводы. Мы создали класс. Создали из него компонент. DevStudio упаковал заголовочный файл и файл реализации в один с расширением ogx. Если класс для Windows и в нем будут ресурсы, то они тоже упакуются. После этого мы добавили компонент и к нашему файлу вписали только строку заголовка. В общем это можно считать реализацией концепции повторного использования. Конечно, это очень простой пример. Но он демонстрирует возможности Component Gallery.
Component Gallery позволяет переносить наиболее часто используемые классы от проекта к проекту.