CSplashWindow

Модуль содержит класс TSplashWindow, являющийся потомком TThreadWindow. Используется для создания заставок (сплэш-форм), которые появляются при запуске приложения.

TextDefaultValue

Версия: %%ProductVersion%% %%LegalCopyright%% %%FileDescription%%

ресурсная строка

Текст отображаемый в окне заставки по умолчанию

CaptionDefaultValue

%%ProductName%%

ресурсная строка

Заголовок окна заставки по умолчанию

SplashName

SPLASH

тип константы

string
Название ресурса с изображением заставки по умолчанию

DefaultHeight

$140

тип константы

Integer
Высота окна заставки по умолчанию

DefaultWidth

$100

тип константы

Integer
Ширина окна заставки по умолчанию

VersionInfoFields

тип константы

:1

Названия макросов, которые будут заменены на соответствующие значения взятые из ресурса Version

Текст должен иметь следующий вид: '%%ProductName%%'

UM_GetBitmap

$471

тип константы

Integer
Пользовательское сообщение, возвращающее фоновое изображение окна заставки

UM_SetBitmap

$472

тип константы

Integer
Пользовательское сообщение устанавливающее фоновое изображение окна заставки

TUMGetSetBitmap

TUMGetSetBitmap = packed record
  Msg: Cardinal;
  IndexProp: Word;
  Part: Word;
  Value: TBitmap;
  Result: Integer;
end
Структура используемая для получения, или передачи фонового изображения заставки

TCSplashWindowClass

TCSplashWindowClass = class of TCSplashWindow
Тип создаваемой заставки

См. также

TCSplashWindow

TCSplashWindow

TCSplashWindow = class(TCWindowThread)

Предки

Модуль Класс
CWindowThread TCWindowThread
Classes TComponent
Classes TPersistent
System TObject

Класс TCSplashWindow является визуальной оболочкой для TSplashWindow Если в программе есть ресурс с названием 'SPLASH', или 'SPLASH_XX' (где XX — количество бит на пиксел), то при инициализации модуля будет создано и запущено окно с заставкой, которое будет видно в течение 3 секунд.

Замечания

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

Важная инфа

Заставка может быть отображена еще до создания формы на которой располагается компонент и даже до создания объекта Application, поэтому загрузка dfm-данных осуществляется нестандартным образом. TCSplashWindow самостоятельно попытается найти dfm-информацию в ресурсах приложения по имени DefaultSplashClassName. Если найти не получится, будут использованы значения по умолчанию.

Пример использования

unit Unit2;

interface

uses CSplashWindow;

implementation

initialization

ShowSplash;

end.

//

program ProjectSplash;

uses

Unit2 in 'Unit2.pas',

Forms, ...

См. также

TSplashWindow, DefaultSplashClassName, SplashWindow, CWindowThread.TCWindowThread

Содержимое

public property read writeTCSplashWindow.Bitmap

public
  property Bitmap: TBitmap read fBitmap write SetBitmap
Фоновое изображение

published property read writeTCSplashWindow.ResourceName

published
  property ResourceName: string read fResourceName write fResourceName
Название ресурса с изображением. По умолчанию 'SPLASH'. Поиск осуществляется во всех загруженных модулях, начиная с модуля DefaultInstance.

Замечания

В приложении может быть несколько изображений с названиями вида 'SPLASH_XX' (где XX - количество бит на пиксел). В зависимости от режима работы монитора будет выбран наиболее подходящий формат.

См. также

published property read writeTCSplashWindow.StayOnTopSec

published
  property StayOnTopSec: Integer read fStayOnTopSec write SetStayOnTopSec default 2
Время (в секундах) в течение которого окно заставки будет иметь стиль StayOnTop.

Замечания

Это свойство используется для того, чтобы пользователь мог увидеть модальные окна которые могут появиться во время загрузки. Например сообщения об ошибках, или окно ввода пароля.

TSplashWindow

TSplashWindow = class(TCustomThreadWindow)

Предки

Модуль Класс
CWindowThread TCustomThreadWindow
WindowThread TThreadWindow
Classes TThread
System TObject

Окно с фоновым изображением, работающее в своём собственном потоке.

См. также

WindowThread.TThreadWindow

Содержимое

public property read writeTSplashWindow.Bitmap

public
  property Bitmap: TBitmap read GetBitmap write SetBitmap
Фоновое изображение

DefaultSplashClass

DefaultSplashClass: TCSplashWindowClass
Класс "внутренней" заставки, которая создаётся функцией SplashWindow. Если nil, то используется TCSplashWindow.

См. также

TCSplashWindowClass, TCSplashWindow, SplashWindow

DefaultSplashClassName

DefaultSplashClassName: string
Имя класса, которое будет найдено среди dfm ресурсов, для загрузки параметров "внутренней" заставки. Если значение не задано, то будет использовано имя класса определенного переменной DefaultSplashClass.

См. также

DefaultSplashClass

DefaultInstance

DefaultInstance: Cardinal

Хэндл модуля, в котором будет осуществляться поиск ресурса в первую очередь.

Важная инфа

Поиск ресурсов осуществляется в следующих модулях:

1. В DefaultInstance, если не 0

2. В загруженном модуле языковой поддержки (ENU, RUS и т.п.). См. FindResourceHInstance

3. В текущем модуле. См. HInstance

4. Во всех остальных загруженных модулях (Dll и Bpl), если DefaultInstance = 0

public functionEnumDLLs

function EnumDLLs(List: TStringList): Boolean
Загрузка в список всех используемых бибилиотек и их хэндлов, включая само приложение.

Параметры

List Список, в который производится загрузка.
Возвращаемое значение В случае успешного выполнения возвращается True

public functionSplashWindow

function SplashWindow(): TCSplashWindow
Функция SplashWindow возвращает "внутреннюю" заставку (единственный экземпляр объекта, который создаётся и отображается в начале работы приложения). Если заставка еще не создана, то создаётся. Класс создаваемого объекта задаётся переменной DefaultSplashClass.

Замечания

Через некоторое время после сокрытия окна, его экземпляр будет разрушен. Самостоятельно вызывать метод Free ненадо.

Параметры

Возвращаемое значение Экземпляр созданного окна-заставки

См. также

TCSplashWindowClass, DefaultSplashClass, TCSplashWindow, ShowSplash

public procedureEnumResources

procedure EnumResources(
     Instance: Cardinal;
     var List: TStringList;
     lpType: PWideChar;
     Name: string
   )
Добавление в список всех названий ресурсов, которых еще не было. В качестве Objects указываются хэндлы ресурсов

Параметры

Instance Хэндл модуля в котором производится поиск
List Список с названиями и хэндлами ресурсов
lpType Тип ресурсов, которые попадают в список напр.: RT_BITMAP
Name Префикс (название ресурса должно начинаться со строки Name)

См. также

Windows.RT_BITMAP, Windows.RT_RCDATA, Windows.RT_ICON

public procedureShowSplash

procedure ShowSplash
Создаёт и отображает окно заставки.

© Полезные примочки для Delphi

Hosted by uCoz