CAD-страница НП | Статьи | English | Download || часть 2 | Обработка событий
Прозрачная заставка в форме немодального диалога (C++, часть 1)
(из книги "AutoCAD: разработка приложений, настройка и адаптация";
аналог - вариант реализации на C#, с постепенным изменением прозрачности окна)
Желательно, конечно, чтобы заставка сама исчезала с экрана
- например,
через пять секунд. Хорошо также, чтобы нетерпеливый пользователь мог сразу закрыть заставку щелчком
в клиентской области окна.
Кроме того, интересно сделать заставку прозрачной, чтобы под ней были видны примитивы текущего рисунка.
Прозрачности можем добиться, применяя свойство Opacity окон в Windows Forms.
Создайте новый проект Book16 с теми же характеристиками по умолчанию, что и предыдущий
(Прим.автора: с поддержкой управляемого кода .NET).
Создайте LISP-функцию book16 с помощью C-функции ads_book16 в файле
acrxEntryPoint.cpp
(см. листинг 5.34).
Листинг 5.34. Функция ads_book16
// Н.Н.Полещук, Глава 05\Book16\acrxEntryPoint.cpp
// В книге "AutoCAD: разработка приложений, настройка и
// адаптация"
// (издательство "BHV-Петербург", 2006)
// http://poleshchuk.spb.ru/cad/
//
// ----- ads_book16 symbol (do not rename)
static int ads_book16(void)
{
}
Функция splash16 будет функцией с управляемым кодом. Добавьте к проекту файлы Splash16.h и
Splash16.cpp с интерфейсом и реализацией функции splash16 и вставьте директиву
#include "Splash16.h" в начало файла acrxEntryPoint.cpp.
Файл Splash16.h, помимо прототипа функции splash16, будет содержать описание класса Wform16
диалогового окна. Текст файла Splash16.h приведен в листинге 5.35.
Листинг 5.35. Файл Splash16.h
// Н.Н.Полещук, Глава 05\Book16\Splash16.h
// В книге "AutoCAD: разработка приложений, настройка и
// адаптация"
// (издательство "BHV-Петербург", 2006)
// http://poleshchuk.spb.ru/cad/
//
#pragma once
#using <System.Drawing.dll>
#using <System.Windows.Forms.dll>
#include "StdAfx.h"
using namespace System;
using namespace System::Drawing;
using namespace System::Windows::Forms;
void splash16();
public __gc class Wform16: public Form
{
public:
protected:
};
Помимо протототипа функции splash16, файл Splash16.h содержит описание управляемого класса, порожденного
наследованием от класса Form. Членами класса являются три функции:
Wform16::Wform16()
{
CAD-страница НП | Статьи | English | Download || часть 2 | Обработка событий