git-svn-id: https://192.168.0.254/svn/Componentes.Terceros.TMSSoftware@15 ccf39c52-e665-a648-be6a-52d81bcb5567
This commit is contained in:
parent
c762b5fe15
commit
89f731e463
@ -0,0 +1,13 @@
|
|||||||
|
program AdvInputTaskDialogDemo;
|
||||||
|
|
||||||
|
uses
|
||||||
|
Forms,
|
||||||
|
UAdvInputTaskDialogDemo in 'UAdvInputTaskDialogDemo.pas' {Form1};
|
||||||
|
|
||||||
|
{$R *.res}
|
||||||
|
|
||||||
|
begin
|
||||||
|
Application.Initialize;
|
||||||
|
Application.CreateForm(TForm1, Form1);
|
||||||
|
Application.Run;
|
||||||
|
end.
|
||||||
@ -0,0 +1,113 @@
|
|||||||
|
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<PropertyGroup>
|
||||||
|
<ProjectGuid>{40ed30c4-44b3-4d9c-8bf7-596b00214c5a}</ProjectGuid>
|
||||||
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||||
|
<DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
|
||||||
|
<DCC_DependencyCheckOutputName>AdvInputTaskDialogDemo.exe</DCC_DependencyCheckOutputName>
|
||||||
|
<MainSource>AdvInputTaskDialogDemo.dpr</MainSource>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||||
|
<Version>7.0</Version>
|
||||||
|
<DCC_DebugInformation>False</DCC_DebugInformation>
|
||||||
|
<DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols>
|
||||||
|
<DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
|
||||||
|
<DCC_Define>RELEASE</DCC_Define>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
|
<Version>7.0</Version>
|
||||||
|
<DCC_Define>DEBUG</DCC_Define>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ProjectExtensions>
|
||||||
|
<Borland.Personality>Delphi.Personality</Borland.Personality>
|
||||||
|
<Borland.ProjectType />
|
||||||
|
<BorlandProject>
|
||||||
|
<BorlandProject xmlns=""> <Delphi.Personality> <Parameters>
|
||||||
|
<Parameters Name="UseLauncher">False</Parameters>
|
||||||
|
<Parameters Name="LoadAllSymbols">True</Parameters>
|
||||||
|
<Parameters Name="LoadUnspecifiedSymbols">False</Parameters>
|
||||||
|
</Parameters>
|
||||||
|
<VersionInfo>
|
||||||
|
<VersionInfo Name="IncludeVerInfo">False</VersionInfo>
|
||||||
|
<VersionInfo Name="AutoIncBuild">False</VersionInfo>
|
||||||
|
<VersionInfo Name="MajorVer">1</VersionInfo>
|
||||||
|
<VersionInfo Name="MinorVer">0</VersionInfo>
|
||||||
|
<VersionInfo Name="Release">0</VersionInfo>
|
||||||
|
<VersionInfo Name="Build">0</VersionInfo>
|
||||||
|
<VersionInfo Name="Debug">False</VersionInfo>
|
||||||
|
<VersionInfo Name="PreRelease">False</VersionInfo>
|
||||||
|
<VersionInfo Name="Special">False</VersionInfo>
|
||||||
|
<VersionInfo Name="Private">False</VersionInfo>
|
||||||
|
<VersionInfo Name="DLL">False</VersionInfo>
|
||||||
|
<VersionInfo Name="Locale">1033</VersionInfo>
|
||||||
|
<VersionInfo Name="CodePage">1252</VersionInfo>
|
||||||
|
</VersionInfo>
|
||||||
|
<VersionInfoKeys>
|
||||||
|
<VersionInfoKeys Name="CompanyName"></VersionInfoKeys>
|
||||||
|
<VersionInfoKeys Name="FileDescription"></VersionInfoKeys>
|
||||||
|
<VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys>
|
||||||
|
<VersionInfoKeys Name="InternalName"></VersionInfoKeys>
|
||||||
|
<VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys>
|
||||||
|
<VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys>
|
||||||
|
<VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys>
|
||||||
|
<VersionInfoKeys Name="ProductName"></VersionInfoKeys>
|
||||||
|
<VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys>
|
||||||
|
<VersionInfoKeys Name="Comments"></VersionInfoKeys>
|
||||||
|
</VersionInfoKeys>
|
||||||
|
<Excluded_Packages>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<Excluded_Packages Name="$(BDS)\bin\dclofficexp100.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>
|
||||||
|
<Excluded_Packages Name="$(BDS)\bin\dcloffice2k100.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages>
|
||||||
|
<Excluded_Packages Name="$(BDS)\bin\bcboffice2k100.bpl">CodeGear C++Builder Office 2000 Servers Package</Excluded_Packages>
|
||||||
|
<Excluded_Packages Name="$(BDS)\bin\bcbofficexp100.bpl">CodeGear C++Builder Office XP Servers Package</Excluded_Packages>
|
||||||
|
</Excluded_Packages>
|
||||||
|
<Source>
|
||||||
|
<Source Name="MainSource">AdvInputTaskDialogDemo.dpr</Source>
|
||||||
|
</Source>
|
||||||
|
</Delphi.Personality> </BorlandProject></BorlandProject>
|
||||||
|
</ProjectExtensions>
|
||||||
|
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
|
||||||
|
<ItemGroup>
|
||||||
|
<DelphiCompile Include="AdvInputTaskDialogDemo.dpr">
|
||||||
|
<MainSource>MainSource</MainSource>
|
||||||
|
</DelphiCompile>
|
||||||
|
<DCCReference Include="UAdvInputTaskDialogDemo.pas">
|
||||||
|
<Form>Form1</Form>
|
||||||
|
</DCCReference>
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
||||||
Binary file not shown.
14
TAdvTaskDialog/internal/1.5.1.6/1/Demo/AdvMsgBoxExplorer.dpr
Normal file
14
TAdvTaskDialog/internal/1.5.1.6/1/Demo/AdvMsgBoxExplorer.dpr
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
program AdvMsgBoxExplorer;
|
||||||
|
|
||||||
|
uses
|
||||||
|
Forms,
|
||||||
|
Unit1 in 'Unit1.pas' {Form1};
|
||||||
|
|
||||||
|
{$R *.res}
|
||||||
|
|
||||||
|
begin
|
||||||
|
Application.Initialize;
|
||||||
|
Application.MainFormOnTaskbar := True;
|
||||||
|
Application.CreateForm(TForm1, Form1);
|
||||||
|
Application.Run;
|
||||||
|
end.
|
||||||
@ -0,0 +1,41 @@
|
|||||||
|
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<PropertyGroup>
|
||||||
|
<ProjectGuid>{3be14241-b500-4048-b206-8a73172c37f9}</ProjectGuid>
|
||||||
|
<MainSource>AdvMsgBoxExplorer.dpr</MainSource>
|
||||||
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||||
|
<DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
|
||||||
|
<DCC_DependencyCheckOutputName>AdvMsgBoxExplorer.exe</DCC_DependencyCheckOutputName>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||||
|
<Version>7.0</Version>
|
||||||
|
<DCC_DebugInformation>False</DCC_DebugInformation>
|
||||||
|
<DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols>
|
||||||
|
<DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
|
||||||
|
<DCC_Define>RELEASE</DCC_Define>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
|
<Version>7.0</Version>
|
||||||
|
<DCC_Define>DEBUG</DCC_Define>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ProjectExtensions>
|
||||||
|
<Borland.Personality>Delphi.Personality</Borland.Personality>
|
||||||
|
<Borland.ProjectType>VCLApplication</Borland.ProjectType>
|
||||||
|
<BorlandProject>
|
||||||
|
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><VersionInfo><VersionInfo Name="IncludeVerInfo">False</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">1</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">1033</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName"></VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Excluded_Packages>
|
||||||
|
<Excluded_Packages Name="$(BDS)\bin\dclofficexp100.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>
|
||||||
|
<Excluded_Packages Name="$(BDS)\bin\dcloffice2k100.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages>
|
||||||
|
<Excluded_Packages Name="$(BDS)\bin\bcboffice2k100.bpl">CodeGear C++Builder Office 2000 Servers Package</Excluded_Packages>
|
||||||
|
<Excluded_Packages Name="$(BDS)\bin\bcbofficexp100.bpl">CodeGear C++Builder Office XP Servers Package</Excluded_Packages>
|
||||||
|
</Excluded_Packages><Source><Source Name="MainSource">AdvMsgBoxExplorer.dpr</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
|
||||||
|
</ProjectExtensions>
|
||||||
|
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
|
||||||
|
<ItemGroup>
|
||||||
|
<DelphiCompile Include="AdvMsgBoxExplorer.dpr">
|
||||||
|
<MainSource>MainSource</MainSource>
|
||||||
|
</DelphiCompile>
|
||||||
|
<DCCReference Include="Unit1.pas">
|
||||||
|
<Form>Form1</Form>
|
||||||
|
</DCCReference>
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
||||||
BIN
TAdvTaskDialog/internal/1.5.1.6/1/Demo/AdvMsgBoxExplorer.res
Normal file
BIN
TAdvTaskDialog/internal/1.5.1.6/1/Demo/AdvMsgBoxExplorer.res
Normal file
Binary file not shown.
@ -0,0 +1,14 @@
|
|||||||
|
program TaskDialogExplorer;
|
||||||
|
|
||||||
|
uses
|
||||||
|
Forms,
|
||||||
|
fmMain in 'fmMain.pas' {MainForm};
|
||||||
|
|
||||||
|
{$R *.res}
|
||||||
|
|
||||||
|
begin
|
||||||
|
Application.Initialize;
|
||||||
|
Application.MainFormOnTaskbar := True;
|
||||||
|
Application.CreateForm(TMainForm, MainForm);
|
||||||
|
Application.Run;
|
||||||
|
end.
|
||||||
@ -0,0 +1,41 @@
|
|||||||
|
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<PropertyGroup>
|
||||||
|
<ProjectGuid>{15a8d16e-1063-4b59-8cb3-07496f176779}</ProjectGuid>
|
||||||
|
<MainSource>TaskDialogExplorer.dpr</MainSource>
|
||||||
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||||
|
<DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
|
||||||
|
<DCC_DependencyCheckOutputName>TaskDialogExplorer.exe</DCC_DependencyCheckOutputName>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||||
|
<Version>7.0</Version>
|
||||||
|
<DCC_DebugInformation>False</DCC_DebugInformation>
|
||||||
|
<DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols>
|
||||||
|
<DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
|
||||||
|
<DCC_Define>RELEASE</DCC_Define>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
|
<Version>7.0</Version>
|
||||||
|
<DCC_Define>DEBUG</DCC_Define>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ProjectExtensions>
|
||||||
|
<Borland.Personality>Delphi.Personality</Borland.Personality>
|
||||||
|
<Borland.ProjectType>VCLApplication</Borland.ProjectType>
|
||||||
|
<BorlandProject>
|
||||||
|
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><VersionInfo><VersionInfo Name="IncludeVerInfo">False</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">1</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">1033</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName"></VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Excluded_Packages>
|
||||||
|
<Excluded_Packages Name="$(BDS)\bin\dclofficexp100.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>
|
||||||
|
<Excluded_Packages Name="$(BDS)\bin\dcloffice2k100.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages>
|
||||||
|
<Excluded_Packages Name="$(BDS)\bin\bcboffice2k100.bpl">CodeGear C++Builder Office 2000 Servers Package</Excluded_Packages>
|
||||||
|
<Excluded_Packages Name="$(BDS)\bin\bcbofficexp100.bpl">CodeGear C++Builder Office XP Servers Package</Excluded_Packages>
|
||||||
|
</Excluded_Packages><Source><Source Name="MainSource">TaskDialogExplorer.dpr</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
|
||||||
|
</ProjectExtensions>
|
||||||
|
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
|
||||||
|
<ItemGroup>
|
||||||
|
<DelphiCompile Include="TaskDialogExplorer.dpr">
|
||||||
|
<MainSource>MainSource</MainSource>
|
||||||
|
</DelphiCompile>
|
||||||
|
<DCCReference Include="fmMain.pas">
|
||||||
|
<Form>MainForm</Form>
|
||||||
|
</DCCReference>
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
||||||
BIN
TAdvTaskDialog/internal/1.5.1.6/1/Demo/TaskDialogExplorer.res
Normal file
BIN
TAdvTaskDialog/internal/1.5.1.6/1/Demo/TaskDialogExplorer.res
Normal file
Binary file not shown.
@ -0,0 +1,100 @@
|
|||||||
|
object Form1: TForm1
|
||||||
|
Left = 0
|
||||||
|
Top = 0
|
||||||
|
Caption = 'TAdvInputTaskDialog demo'
|
||||||
|
ClientHeight = 225
|
||||||
|
ClientWidth = 406
|
||||||
|
Color = clBtnFace
|
||||||
|
Font.Charset = DEFAULT_CHARSET
|
||||||
|
Font.Color = clWindowText
|
||||||
|
Font.Height = -11
|
||||||
|
Font.Name = 'Tahoma'
|
||||||
|
Font.Style = []
|
||||||
|
OldCreateOrder = False
|
||||||
|
PixelsPerInch = 96
|
||||||
|
TextHeight = 13
|
||||||
|
object Label1: TLabel
|
||||||
|
Left = 264
|
||||||
|
Top = 22
|
||||||
|
Width = 91
|
||||||
|
Height = 13
|
||||||
|
Caption = 'Preset input value:'
|
||||||
|
end
|
||||||
|
object Label2: TLabel
|
||||||
|
Left = 264
|
||||||
|
Top = 103
|
||||||
|
Width = 34
|
||||||
|
Height = 13
|
||||||
|
Caption = 'Result:'
|
||||||
|
end
|
||||||
|
object RadioGroup1: TRadioGroup
|
||||||
|
Left = 16
|
||||||
|
Top = 16
|
||||||
|
Width = 233
|
||||||
|
Height = 161
|
||||||
|
Caption = 'Select input control'
|
||||||
|
ItemIndex = 0
|
||||||
|
Items.Strings = (
|
||||||
|
'Edit'
|
||||||
|
'Combo editor'
|
||||||
|
'Combo list'
|
||||||
|
'Memo'
|
||||||
|
'Date picker'
|
||||||
|
'Custom control (spin editor)')
|
||||||
|
TabOrder = 0
|
||||||
|
end
|
||||||
|
object Button1: TButton
|
||||||
|
Left = 264
|
||||||
|
Top = 72
|
||||||
|
Width = 121
|
||||||
|
Height = 25
|
||||||
|
Caption = 'Show inputdialog'
|
||||||
|
TabOrder = 1
|
||||||
|
OnClick = Button1Click
|
||||||
|
end
|
||||||
|
object Edit1: TEdit
|
||||||
|
Left = 264
|
||||||
|
Top = 45
|
||||||
|
Width = 121
|
||||||
|
Height = 21
|
||||||
|
TabOrder = 2
|
||||||
|
Text = 'preset'
|
||||||
|
end
|
||||||
|
object Edit2: TEdit
|
||||||
|
Left = 264
|
||||||
|
Top = 122
|
||||||
|
Width = 121
|
||||||
|
Height = 21
|
||||||
|
TabOrder = 3
|
||||||
|
end
|
||||||
|
object SpinEdit1: TSpinEdit
|
||||||
|
Left = 16
|
||||||
|
Top = 195
|
||||||
|
Width = 121
|
||||||
|
Height = 22
|
||||||
|
MaxValue = 0
|
||||||
|
MinValue = 0
|
||||||
|
TabOrder = 4
|
||||||
|
Value = 0
|
||||||
|
Visible = False
|
||||||
|
end
|
||||||
|
object AdvInputTaskDialog1: TAdvInputTaskDialog
|
||||||
|
CommonButtons = []
|
||||||
|
DefaultButton = 0
|
||||||
|
Icon = tiInformation
|
||||||
|
InputType = itEdit
|
||||||
|
InputItems.Strings = (
|
||||||
|
'BMW'
|
||||||
|
'Audi'
|
||||||
|
'Mercedes'
|
||||||
|
'Porsche'
|
||||||
|
'VW'
|
||||||
|
'Ferrari')
|
||||||
|
Title = 'Windows Vista Input dialog'
|
||||||
|
Content = 'Enter value here'
|
||||||
|
OnDialogInputSetText = AdvInputTaskDialog1DialogInputSetText
|
||||||
|
OnDialogInputGetText = AdvInputTaskDialog1DialogInputGetText
|
||||||
|
Left = 352
|
||||||
|
Top = 152
|
||||||
|
end
|
||||||
|
end
|
||||||
@ -0,0 +1,69 @@
|
|||||||
|
unit UAdvInputTaskDialogDemo;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||||
|
Dialogs, StdCtrls, ExtCtrls, TaskDialog, Spin;
|
||||||
|
|
||||||
|
type
|
||||||
|
TForm1 = class(TForm)
|
||||||
|
AdvInputTaskDialog1: TAdvInputTaskDialog;
|
||||||
|
RadioGroup1: TRadioGroup;
|
||||||
|
Button1: TButton;
|
||||||
|
Edit1: TEdit;
|
||||||
|
Label1: TLabel;
|
||||||
|
Label2: TLabel;
|
||||||
|
Edit2: TEdit;
|
||||||
|
SpinEdit1: TSpinEdit;
|
||||||
|
procedure Button1Click(Sender: TObject);
|
||||||
|
procedure AdvInputTaskDialog1DialogInputGetText(Sender: TObject;
|
||||||
|
var Text: string);
|
||||||
|
procedure AdvInputTaskDialog1DialogInputSetText(Sender: TObject;
|
||||||
|
Text: string);
|
||||||
|
private
|
||||||
|
{ Private declarations }
|
||||||
|
public
|
||||||
|
{ Public declarations }
|
||||||
|
end;
|
||||||
|
|
||||||
|
var
|
||||||
|
Form1: TForm1;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
{$R *.dfm}
|
||||||
|
|
||||||
|
procedure TForm1.AdvInputTaskDialog1DialogInputGetText(Sender: TObject;
|
||||||
|
var Text: string);
|
||||||
|
begin
|
||||||
|
Text := SpinEdit1.Text;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TForm1.AdvInputTaskDialog1DialogInputSetText(Sender: TObject;
|
||||||
|
Text: string);
|
||||||
|
begin
|
||||||
|
SpinEdit1.Text := Text;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TForm1.Button1Click(Sender: TObject);
|
||||||
|
begin
|
||||||
|
case radiogroup1.ItemIndex of
|
||||||
|
0: AdvInputTaskDialog1.InputType := itEdit;
|
||||||
|
1: AdvInputTaskDialog1.InputType := itComboEdit;
|
||||||
|
2: AdvInputTaskDialog1.InputType := itComboList;
|
||||||
|
3: AdvInputTaskDialog1.InputType := itMemo;
|
||||||
|
4: AdvInputTaskDialog1.InputType := itDate;
|
||||||
|
5:
|
||||||
|
begin
|
||||||
|
AdvInputTaskDialog1.InputType := itCustom;
|
||||||
|
AdvInputTaskDialog1.InputControl := SpinEdit1;
|
||||||
|
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
AdvInputTaskDialog1.InputText := Edit1.Text;
|
||||||
|
AdvInputTaskDialog1.Execute;
|
||||||
|
Edit2.Text := AdvInputTaskDialog1.InputText;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
130
TAdvTaskDialog/internal/1.5.1.6/1/Demo/Unit1.dfm
Normal file
130
TAdvTaskDialog/internal/1.5.1.6/1/Demo/Unit1.dfm
Normal file
@ -0,0 +1,130 @@
|
|||||||
|
object Form1: TForm1
|
||||||
|
Left = 0
|
||||||
|
Top = 0
|
||||||
|
Caption = 'AdvMessageBox Test'
|
||||||
|
ClientHeight = 303
|
||||||
|
ClientWidth = 380
|
||||||
|
Color = clBtnFace
|
||||||
|
Font.Charset = DEFAULT_CHARSET
|
||||||
|
Font.Color = clWindowText
|
||||||
|
Font.Height = -11
|
||||||
|
Font.Name = 'Tahoma'
|
||||||
|
Font.Style = []
|
||||||
|
OldCreateOrder = False
|
||||||
|
PixelsPerInch = 96
|
||||||
|
TextHeight = 13
|
||||||
|
object Label1: TLabel
|
||||||
|
Left = 14
|
||||||
|
Top = 16
|
||||||
|
Width = 47
|
||||||
|
Height = 13
|
||||||
|
Caption = 'Caption: '
|
||||||
|
end
|
||||||
|
object Label2: TLabel
|
||||||
|
Left = 30
|
||||||
|
Top = 48
|
||||||
|
Width = 25
|
||||||
|
Height = 13
|
||||||
|
Caption = 'Icon:'
|
||||||
|
end
|
||||||
|
object Label3: TLabel
|
||||||
|
Left = 29
|
||||||
|
Top = 76
|
||||||
|
Width = 26
|
||||||
|
Height = 13
|
||||||
|
Caption = 'Text:'
|
||||||
|
end
|
||||||
|
object Label4: TLabel
|
||||||
|
Left = 14
|
||||||
|
Top = 184
|
||||||
|
Width = 41
|
||||||
|
Height = 13
|
||||||
|
Caption = 'Buttons:'
|
||||||
|
end
|
||||||
|
object Label5: TLabel
|
||||||
|
Left = 24
|
||||||
|
Top = 232
|
||||||
|
Width = 34
|
||||||
|
Height = 13
|
||||||
|
Caption = 'Result:'
|
||||||
|
end
|
||||||
|
object lbresults: TLabel
|
||||||
|
Left = 64
|
||||||
|
Top = 232
|
||||||
|
Width = 3
|
||||||
|
Height = 13
|
||||||
|
end
|
||||||
|
object BtnTMS: TButton
|
||||||
|
Left = 65
|
||||||
|
Top = 264
|
||||||
|
Width = 145
|
||||||
|
Height = 25
|
||||||
|
Caption = 'TMS TAdvMessageBox'
|
||||||
|
TabOrder = 0
|
||||||
|
OnClick = BtnTMSClick
|
||||||
|
end
|
||||||
|
object BtnWindows: TButton
|
||||||
|
Left = 216
|
||||||
|
Top = 264
|
||||||
|
Width = 145
|
||||||
|
Height = 25
|
||||||
|
Caption = 'Windows Messagebox'
|
||||||
|
TabOrder = 1
|
||||||
|
OnClick = BtnWindowsClick
|
||||||
|
end
|
||||||
|
object edCaption: TEdit
|
||||||
|
Left = 61
|
||||||
|
Top = 13
|
||||||
|
Width = 300
|
||||||
|
Height = 21
|
||||||
|
TabOrder = 2
|
||||||
|
Text = 'Test of MessageBox'
|
||||||
|
end
|
||||||
|
object cbIcon: TComboBox
|
||||||
|
Left = 61
|
||||||
|
Top = 45
|
||||||
|
Width = 300
|
||||||
|
Height = 21
|
||||||
|
ItemHeight = 13
|
||||||
|
ItemIndex = 0
|
||||||
|
TabOrder = 3
|
||||||
|
Text = 'Select Icon'
|
||||||
|
Items.Strings = (
|
||||||
|
'Select Icon'
|
||||||
|
'MB_ICONEXCLAMATION'
|
||||||
|
'MB_ICONWARNING'
|
||||||
|
'MB_ICONASTERISK'
|
||||||
|
'MB_ICONINFORMATION'
|
||||||
|
'MB_ICONQUESTION'
|
||||||
|
'MB_ICONSTOP'
|
||||||
|
'MB_ICONERROR'
|
||||||
|
'MB_ICONHAND')
|
||||||
|
end
|
||||||
|
object MemoInfo: TMemo
|
||||||
|
Left = 61
|
||||||
|
Top = 76
|
||||||
|
Width = 300
|
||||||
|
Height = 89
|
||||||
|
Lines.Strings = (
|
||||||
|
'Sample short message.')
|
||||||
|
TabOrder = 4
|
||||||
|
end
|
||||||
|
object cbButtons: TComboBox
|
||||||
|
Left = 64
|
||||||
|
Top = 184
|
||||||
|
Width = 297
|
||||||
|
Height = 21
|
||||||
|
ItemHeight = 13
|
||||||
|
TabOrder = 5
|
||||||
|
Text = 'Pick Buttons'
|
||||||
|
Items.Strings = (
|
||||||
|
'Pick the buttons to show'
|
||||||
|
'ABORT, RETRY, IGNORE'
|
||||||
|
'CANCEL, TRY AGAIN, CONTINUE'
|
||||||
|
'OK'
|
||||||
|
'OK, CANCEL'
|
||||||
|
'RETRY, CANCEL'
|
||||||
|
'YES, NO'
|
||||||
|
'YES, NO, CANCEL')
|
||||||
|
end
|
||||||
|
end
|
||||||
125
TAdvTaskDialog/internal/1.5.1.6/1/Demo/Unit1.pas
Normal file
125
TAdvTaskDialog/internal/1.5.1.6/1/Demo/Unit1.pas
Normal file
@ -0,0 +1,125 @@
|
|||||||
|
unit Unit1;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||||
|
Dialogs, StdCtrls;
|
||||||
|
|
||||||
|
type
|
||||||
|
TForm1 = class(TForm)
|
||||||
|
BtnTMS: TButton;
|
||||||
|
BtnWindows: TButton;
|
||||||
|
Label1: TLabel;
|
||||||
|
edCaption: TEdit;
|
||||||
|
Label2: TLabel;
|
||||||
|
cbIcon: TComboBox;
|
||||||
|
Label3: TLabel;
|
||||||
|
MemoInfo: TMemo;
|
||||||
|
Label4: TLabel;
|
||||||
|
cbButtons: TComboBox;
|
||||||
|
Label5: TLabel;
|
||||||
|
lbresults: TLabel;
|
||||||
|
procedure BtnWindowsClick(Sender: TObject);
|
||||||
|
procedure BtnTMSClick(Sender: TObject);
|
||||||
|
private
|
||||||
|
Fmbtitle: string;
|
||||||
|
FBoxInformation: string;
|
||||||
|
FBoxflags: integer;
|
||||||
|
{ Private declarations }
|
||||||
|
procedure MakeDialog(id: string);
|
||||||
|
procedure Setmbtitle(const Value: string);
|
||||||
|
procedure SetBoxInformation(const Value: string);
|
||||||
|
procedure SetBoxflags(const Value: integer);
|
||||||
|
public
|
||||||
|
{ Public declarations }
|
||||||
|
|
||||||
|
property BoxTitle: string read Fmbtitle write Setmbtitle;
|
||||||
|
property BoxInformation: string read FBoxInformation write SetBoxInformation;
|
||||||
|
property Boxflags: integer read FBoxflags write SetBoxflags;
|
||||||
|
end;
|
||||||
|
|
||||||
|
var
|
||||||
|
Form1: TForm1;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
uses
|
||||||
|
TaskDialog;
|
||||||
|
|
||||||
|
{$R *.dfm}
|
||||||
|
|
||||||
|
const
|
||||||
|
MB_CANCELTRYCONTINUE = $00000006;
|
||||||
|
iconlist: array[1..8] of integer =
|
||||||
|
(MB_ICONEXCLAMATION,
|
||||||
|
MB_ICONWARNING,
|
||||||
|
MB_ICONINFORMATION,
|
||||||
|
MB_ICONASTERISK,
|
||||||
|
MB_ICONQUESTION,
|
||||||
|
MB_ICONSTOP,
|
||||||
|
MB_ICONERROR,
|
||||||
|
MB_ICONHAND);
|
||||||
|
btnlist: array[1..7] of integer =
|
||||||
|
( MB_ABORTRETRYIGNORE,
|
||||||
|
MB_CANCELTRYCONTINUE,
|
||||||
|
MB_OK,
|
||||||
|
MB_OKCANCEL,
|
||||||
|
MB_RETRYCANCEL,
|
||||||
|
MB_YESNO,
|
||||||
|
MB_YESNOCANCEL);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Create dialog fields for the messagebox
|
||||||
|
procedure TForm1.MakeDialog(id: string);
|
||||||
|
var
|
||||||
|
i: Integer;
|
||||||
|
begin
|
||||||
|
// make box fields from ui
|
||||||
|
BoxTitle := edCaption.text + ' ('+id+')'; // title
|
||||||
|
BoxInformation := memoInfo.Lines[0]; // info
|
||||||
|
for i := 1 to memoInfo.Lines.count - 1 do
|
||||||
|
BoxInformation := BoxInformation + #10+MemoInfo.Lines[i];
|
||||||
|
BoxFlags := 0;
|
||||||
|
if cbIcon.ItemIndex > 0 then
|
||||||
|
BoxFlags := BoxFlags or IconList[cbIcon.ItemIndex];
|
||||||
|
if cbButtons.ItemIndex > 0 then
|
||||||
|
BoxFlags := boxFlags or btnlist[cbButtons.itemindex];
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TForm1.BtnTMSClick(Sender: TObject);
|
||||||
|
var
|
||||||
|
res: integer;
|
||||||
|
begin
|
||||||
|
MakeDialog('TMS');
|
||||||
|
res := AdvMessagebox(0,pchar(BoxInformation), pchar(BoxTitle), BoxFlags);
|
||||||
|
lbResults.caption := IntToStr(res);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TForm1.BtnWindowsClick(Sender: TObject);
|
||||||
|
var
|
||||||
|
res: integer;
|
||||||
|
begin
|
||||||
|
MakeDialog('WINDOWS');
|
||||||
|
res := Messagebox(0,pchar(BoxInformation),pchar(BoxTitle),BoxFlags);
|
||||||
|
lbResults.caption := InttoStr(res);
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
procedure TForm1.SetBoxflags(const Value: integer);
|
||||||
|
begin
|
||||||
|
FBoxflags := Value;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TForm1.SetBoxInformation(const Value: string);
|
||||||
|
begin
|
||||||
|
FBoxInformation := Value;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TForm1.Setmbtitle(const Value: string);
|
||||||
|
begin
|
||||||
|
Fmbtitle := Value;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
310
TAdvTaskDialog/internal/1.5.1.6/1/Demo/fmMain.dfm
Normal file
310
TAdvTaskDialog/internal/1.5.1.6/1/Demo/fmMain.dfm
Normal file
@ -0,0 +1,310 @@
|
|||||||
|
object MainForm: TMainForm
|
||||||
|
Left = 0
|
||||||
|
Top = 0
|
||||||
|
Hint = 'Thiis the Windows title for the dialog b ox'
|
||||||
|
Caption = 'TMS TAdvTaskDialog Explorer'
|
||||||
|
ClientHeight = 426
|
||||||
|
ClientWidth = 530
|
||||||
|
Color = clBtnFace
|
||||||
|
Font.Charset = DEFAULT_CHARSET
|
||||||
|
Font.Color = clWindowText
|
||||||
|
Font.Height = -11
|
||||||
|
Font.Name = 'Tahoma'
|
||||||
|
Font.Style = []
|
||||||
|
OldCreateOrder = False
|
||||||
|
Position = poDesktopCenter
|
||||||
|
ShowHint = True
|
||||||
|
PixelsPerInch = 96
|
||||||
|
TextHeight = 13
|
||||||
|
object Label1: TLabel
|
||||||
|
Left = 136
|
||||||
|
Top = 278
|
||||||
|
Width = 321
|
||||||
|
Height = 13
|
||||||
|
Caption = 'Separate button names with spaces (Use quotes to embed spaces)'
|
||||||
|
end
|
||||||
|
object Label3: TLabel
|
||||||
|
Left = 8
|
||||||
|
Top = 4
|
||||||
|
Width = 81
|
||||||
|
Height = 13
|
||||||
|
Caption = 'Include elements'
|
||||||
|
end
|
||||||
|
object Label2: TLabel
|
||||||
|
Left = 36
|
||||||
|
Top = 238
|
||||||
|
Width = 81
|
||||||
|
Height = 13
|
||||||
|
Caption = 'Common Buttons'
|
||||||
|
end
|
||||||
|
object Label4: TLabel
|
||||||
|
Left = 58
|
||||||
|
Top = 164
|
||||||
|
Width = 61
|
||||||
|
Height = 13
|
||||||
|
Caption = 'Expand label'
|
||||||
|
end
|
||||||
|
object Label5: TLabel
|
||||||
|
Left = 306
|
||||||
|
Top = 163
|
||||||
|
Width = 72
|
||||||
|
Height = 13
|
||||||
|
Caption = 'Collapse Label:'
|
||||||
|
end
|
||||||
|
object Label6: TLabel
|
||||||
|
Left = 19
|
||||||
|
Top = 367
|
||||||
|
Width = 74
|
||||||
|
Height = 13
|
||||||
|
Caption = 'Default button:'
|
||||||
|
end
|
||||||
|
object Button1: TButton
|
||||||
|
Left = 242
|
||||||
|
Top = 393
|
||||||
|
Width = 264
|
||||||
|
Height = 25
|
||||||
|
Caption = 'Test TAdvTaskDialog'
|
||||||
|
TabOrder = 0
|
||||||
|
OnClick = Button1Click
|
||||||
|
end
|
||||||
|
object cbFooter: TCheckBox
|
||||||
|
Left = 18
|
||||||
|
Top = 325
|
||||||
|
Width = 97
|
||||||
|
Height = 17
|
||||||
|
Caption = 'Include Footer'
|
||||||
|
Checked = True
|
||||||
|
State = cbChecked
|
||||||
|
TabOrder = 1
|
||||||
|
OnClick = cbFooterClick
|
||||||
|
end
|
||||||
|
object cbExpanded: TCheckBox
|
||||||
|
Left = 18
|
||||||
|
Top = 126
|
||||||
|
Width = 84
|
||||||
|
Height = 17
|
||||||
|
Caption = 'More Details'
|
||||||
|
Checked = True
|
||||||
|
State = cbChecked
|
||||||
|
TabOrder = 2
|
||||||
|
OnClick = cbExpandedClick
|
||||||
|
end
|
||||||
|
object cbVerify: TCheckBox
|
||||||
|
Left = 19
|
||||||
|
Top = 303
|
||||||
|
Width = 81
|
||||||
|
Height = 12
|
||||||
|
Caption = 'Verify text'
|
||||||
|
Checked = True
|
||||||
|
State = cbChecked
|
||||||
|
TabOrder = 3
|
||||||
|
OnClick = cbVerifyClick
|
||||||
|
end
|
||||||
|
object cbRadioButtons: TCheckBox
|
||||||
|
Left = 19
|
||||||
|
Top = 187
|
||||||
|
Width = 89
|
||||||
|
Height = 17
|
||||||
|
Caption = 'Radio buttons'
|
||||||
|
Checked = True
|
||||||
|
State = cbChecked
|
||||||
|
TabOrder = 4
|
||||||
|
OnClick = cbRadioButtonsClick
|
||||||
|
end
|
||||||
|
object edCustomButtons: TEdit
|
||||||
|
Left = 128
|
||||||
|
Top = 261
|
||||||
|
Width = 378
|
||||||
|
Height = 21
|
||||||
|
TabOrder = 5
|
||||||
|
Text = '"Custom 1" "Custom 2"'
|
||||||
|
end
|
||||||
|
object memoRadiobuttons: TMemo
|
||||||
|
Left = 128
|
||||||
|
Top = 185
|
||||||
|
Width = 377
|
||||||
|
Height = 45
|
||||||
|
Lines.Strings = (
|
||||||
|
'Radio Button 1'
|
||||||
|
'Radio Button 2'
|
||||||
|
'Radio Button 3')
|
||||||
|
TabOrder = 6
|
||||||
|
end
|
||||||
|
object cbCustom: TCheckBox
|
||||||
|
Left = 19
|
||||||
|
Top = 263
|
||||||
|
Width = 89
|
||||||
|
Height = 17
|
||||||
|
Caption = 'Custom Buttons'
|
||||||
|
Checked = True
|
||||||
|
State = cbChecked
|
||||||
|
TabOrder = 7
|
||||||
|
OnClick = cbCustomClick
|
||||||
|
end
|
||||||
|
object edVerifyText: TEdit
|
||||||
|
Left = 127
|
||||||
|
Top = 299
|
||||||
|
Width = 377
|
||||||
|
Height = 21
|
||||||
|
TabOrder = 8
|
||||||
|
Text = 'Check box if you can read :)'
|
||||||
|
end
|
||||||
|
object cbCaption: TCheckBox
|
||||||
|
Left = 19
|
||||||
|
Top = 23
|
||||||
|
Width = 89
|
||||||
|
Height = 17
|
||||||
|
Caption = 'Caption'
|
||||||
|
Checked = True
|
||||||
|
State = cbChecked
|
||||||
|
TabOrder = 9
|
||||||
|
OnClick = cbCaptionClick
|
||||||
|
end
|
||||||
|
object edCaption: TEdit
|
||||||
|
Left = 129
|
||||||
|
Top = 21
|
||||||
|
Width = 378
|
||||||
|
Height = 21
|
||||||
|
Hint = 'Text for the Windows dialog box caption.'
|
||||||
|
TabOrder = 10
|
||||||
|
Text = 'Test of AdvTaskDialog'
|
||||||
|
end
|
||||||
|
object MemoFooter: TMemo
|
||||||
|
Left = 127
|
||||||
|
Top = 323
|
||||||
|
Width = 378
|
||||||
|
Height = 35
|
||||||
|
Lines.Strings = (
|
||||||
|
'Sample Footer message'
|
||||||
|
'For example: If you do this you will loose all unsaved changes!')
|
||||||
|
TabOrder = 11
|
||||||
|
end
|
||||||
|
object cbInstruction: TCheckBox
|
||||||
|
Left = 19
|
||||||
|
Top = 46
|
||||||
|
Width = 83
|
||||||
|
Height = 17
|
||||||
|
Caption = 'Instruction'
|
||||||
|
Checked = True
|
||||||
|
State = cbChecked
|
||||||
|
TabOrder = 12
|
||||||
|
OnClick = cbInstructionClick
|
||||||
|
end
|
||||||
|
object MemoInstruction: TMemo
|
||||||
|
Left = 128
|
||||||
|
Top = 48
|
||||||
|
Width = 377
|
||||||
|
Height = 33
|
||||||
|
Lines.Strings = (
|
||||||
|
'This is the bold blue main instruction and'
|
||||||
|
'can be mulitple lines.')
|
||||||
|
TabOrder = 13
|
||||||
|
end
|
||||||
|
object cbContent: TCheckBox
|
||||||
|
Left = 19
|
||||||
|
Top = 86
|
||||||
|
Width = 64
|
||||||
|
Height = 17
|
||||||
|
Caption = 'Content'
|
||||||
|
Checked = True
|
||||||
|
State = cbChecked
|
||||||
|
TabOrder = 14
|
||||||
|
OnClick = cbContentClick
|
||||||
|
end
|
||||||
|
object MemoContent: TMemo
|
||||||
|
Left = 128
|
||||||
|
Top = 87
|
||||||
|
Width = 377
|
||||||
|
Height = 32
|
||||||
|
Lines.Strings = (
|
||||||
|
'This is the normal "content" of the dialog.'
|
||||||
|
' Notice it'#39's in relatively small print.')
|
||||||
|
TabOrder = 15
|
||||||
|
end
|
||||||
|
object cbBtnOK: TCheckBox
|
||||||
|
Left = 129
|
||||||
|
Top = 240
|
||||||
|
Width = 50
|
||||||
|
Height = 10
|
||||||
|
Caption = 'cbOK'
|
||||||
|
Checked = True
|
||||||
|
State = cbChecked
|
||||||
|
TabOrder = 16
|
||||||
|
end
|
||||||
|
object cbBtnNo: TCheckBox
|
||||||
|
Left = 246
|
||||||
|
Top = 240
|
||||||
|
Width = 50
|
||||||
|
Height = 10
|
||||||
|
Caption = 'cbNo'
|
||||||
|
TabOrder = 17
|
||||||
|
end
|
||||||
|
object cbBtnCancel: TCheckBox
|
||||||
|
Left = 366
|
||||||
|
Top = 240
|
||||||
|
Width = 66
|
||||||
|
Height = 10
|
||||||
|
Caption = 'cbCancel'
|
||||||
|
TabOrder = 18
|
||||||
|
end
|
||||||
|
object cbBtnClose: TCheckBox
|
||||||
|
Left = 442
|
||||||
|
Top = 240
|
||||||
|
Width = 62
|
||||||
|
Height = 10
|
||||||
|
Caption = 'cbClose'
|
||||||
|
TabOrder = 19
|
||||||
|
end
|
||||||
|
object cbBtnRetry: TCheckBox
|
||||||
|
Left = 304
|
||||||
|
Top = 240
|
||||||
|
Width = 60
|
||||||
|
Height = 10
|
||||||
|
Caption = 'cbRetry'
|
||||||
|
TabOrder = 20
|
||||||
|
end
|
||||||
|
object cbBtnYes: TCheckBox
|
||||||
|
Left = 182
|
||||||
|
Top = 240
|
||||||
|
Width = 55
|
||||||
|
Height = 10
|
||||||
|
Caption = 'cbYes'
|
||||||
|
TabOrder = 21
|
||||||
|
end
|
||||||
|
object MemoExpand: TMemo
|
||||||
|
Left = 128
|
||||||
|
Top = 125
|
||||||
|
Width = 376
|
||||||
|
Height = 33
|
||||||
|
Lines.Strings = (
|
||||||
|
'This is for extended details that are initiall hidden'
|
||||||
|
'unless user clicks the "view more" button.')
|
||||||
|
TabOrder = 22
|
||||||
|
end
|
||||||
|
object edExpand: TEdit
|
||||||
|
Left = 127
|
||||||
|
Top = 161
|
||||||
|
Width = 121
|
||||||
|
Height = 21
|
||||||
|
TabOrder = 23
|
||||||
|
Text = 'More Detail'
|
||||||
|
end
|
||||||
|
object edCollapse: TEdit
|
||||||
|
Left = 384
|
||||||
|
Top = 161
|
||||||
|
Width = 121
|
||||||
|
Height = 21
|
||||||
|
TabOrder = 24
|
||||||
|
Text = 'Less Detail'
|
||||||
|
end
|
||||||
|
object spnDefButton: TSpinEdit
|
||||||
|
Left = 127
|
||||||
|
Top = 364
|
||||||
|
Width = 46
|
||||||
|
Height = 22
|
||||||
|
MaxValue = 0
|
||||||
|
MinValue = 0
|
||||||
|
TabOrder = 25
|
||||||
|
Value = 0
|
||||||
|
end
|
||||||
|
end
|
||||||
293
TAdvTaskDialog/internal/1.5.1.6/1/Demo/fmMain.pas
Normal file
293
TAdvTaskDialog/internal/1.5.1.6/1/Demo/fmMain.pas
Normal file
@ -0,0 +1,293 @@
|
|||||||
|
unit fmMain;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||||
|
Dialogs, TaskDialog, StdCtrls, Spin;
|
||||||
|
|
||||||
|
type
|
||||||
|
TMainForm = class(TForm)
|
||||||
|
Button1: TButton;
|
||||||
|
cbFooter: TCheckBox;
|
||||||
|
cbExpanded: TCheckBox;
|
||||||
|
cbVerify: TCheckBox;
|
||||||
|
cbRadioButtons: TCheckBox;
|
||||||
|
cbBtnOK: TCheckBox;
|
||||||
|
cbBtnYes: TCheckBox;
|
||||||
|
cbBtnNo: TCheckBox;
|
||||||
|
cbBtnCancel: TCheckBox;
|
||||||
|
cbBtnRetry: TCheckBox;
|
||||||
|
cbBtnClose: TCheckBox;
|
||||||
|
edCustomButtons: TEdit;
|
||||||
|
Label1: TLabel;
|
||||||
|
Label3: TLabel;
|
||||||
|
memoRadiobuttons: TMemo;
|
||||||
|
cbCustom: TCheckBox;
|
||||||
|
edVerifyText: TEdit;
|
||||||
|
cbCaption: TCheckBox;
|
||||||
|
edCaption: TEdit;
|
||||||
|
MemoFooter: TMemo;
|
||||||
|
cbInstruction: TCheckBox;
|
||||||
|
MemoInstruction: TMemo;
|
||||||
|
cbContent: TCheckBox;
|
||||||
|
MemoContent: TMemo;
|
||||||
|
Label2: TLabel;
|
||||||
|
MemoExpand: TMemo;
|
||||||
|
edExpand: TEdit;
|
||||||
|
edCollapse: TEdit;
|
||||||
|
Label4: TLabel;
|
||||||
|
Label5: TLabel;
|
||||||
|
Label6: TLabel;
|
||||||
|
spnDefButton: TSpinEdit;
|
||||||
|
procedure Button1Click(Sender: TObject);
|
||||||
|
procedure Button3Click(Sender: TObject);
|
||||||
|
procedure specialButtonClick(sender: tObject; buttonid: integer);
|
||||||
|
procedure cbCaptionClick(Sender: TObject);
|
||||||
|
procedure cbRadioButtonsClick(Sender: TObject);
|
||||||
|
procedure cbCustomClick(Sender: TObject);
|
||||||
|
procedure cbVerifyClick(Sender: TObject);
|
||||||
|
procedure cbFooterClick(Sender: TObject);
|
||||||
|
procedure cbInstructionClick(Sender: TObject);
|
||||||
|
procedure cbContentClick(Sender: TObject);
|
||||||
|
procedure cbExpandedClick(Sender: TObject);
|
||||||
|
private
|
||||||
|
{ Private declarations }
|
||||||
|
public
|
||||||
|
{ Public declarations }
|
||||||
|
end;
|
||||||
|
|
||||||
|
var
|
||||||
|
MainForm: TMainForm;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
{$R *.dfm}
|
||||||
|
|
||||||
|
procedure tmsShowmessage(const Title,Instruction,content: string; icon: tTaskDialogIcon);
|
||||||
|
var
|
||||||
|
td: tAdvTaskDialog;
|
||||||
|
begin
|
||||||
|
td := tAdvTaskDialog.Create(application);
|
||||||
|
td.Title := title;
|
||||||
|
td.Instruction := Instruction;
|
||||||
|
td.Content := Content;
|
||||||
|
td.icon := icon;
|
||||||
|
td.Execute;
|
||||||
|
td.Free;
|
||||||
|
end {ShowmessageEx};
|
||||||
|
|
||||||
|
procedure TMainForm.Button1Click(Sender: TObject);
|
||||||
|
var
|
||||||
|
td : tAdvTaskDialog;
|
||||||
|
msg: string;
|
||||||
|
ButtonChecked: integer; // custom button number checked
|
||||||
|
lab: string;
|
||||||
|
txt: string;
|
||||||
|
i: Integer;
|
||||||
|
inQuote: boolean;
|
||||||
|
resname: string;
|
||||||
|
begin
|
||||||
|
//
|
||||||
|
td := tAdvTaskDialog.Create(self);
|
||||||
|
td.Clear;
|
||||||
|
td.DialogPosition := dpOwnerFormCenter;
|
||||||
|
|
||||||
|
// Dialog box Caption or Title
|
||||||
|
if cbCaption.checked then
|
||||||
|
td.Title := edCaption.text;
|
||||||
|
|
||||||
|
// Main Instruction field
|
||||||
|
if cbInstruction.checked then
|
||||||
|
begin
|
||||||
|
// Note this field will not transform \n to #13#10
|
||||||
|
td.Instruction := memoInstruction.lines.text;
|
||||||
|
end;
|
||||||
|
|
||||||
|
// Content -- relatively small black text
|
||||||
|
if cbContent.checked then
|
||||||
|
td.Content := MemoContent.lines.text;
|
||||||
|
|
||||||
|
// Radio buttons optional
|
||||||
|
if cbradioButtons.checked then
|
||||||
|
begin
|
||||||
|
td.RadioButtons.Add('Button 1');
|
||||||
|
td.RadioButtons.Add('Button 2');
|
||||||
|
// for i := 0 to MemoRadioButtons.Lines.count - 1 do
|
||||||
|
// td.RadioButtons.Add(MemoRadioButtons.Lines[i]);
|
||||||
|
td.DefaultRadioButton := -1;
|
||||||
|
end;
|
||||||
|
// verification checkbox: probably most used for 'Do Not Show again'
|
||||||
|
if cbVerify.checked then
|
||||||
|
td.VerificationText := edVerifytext.Text;
|
||||||
|
|
||||||
|
// Expansiion text
|
||||||
|
if cbExpanded.checked then
|
||||||
|
td.ExpandedText := memoExpand.lines.text;
|
||||||
|
// these don't show if expandedtext is blank
|
||||||
|
td.ExpandControlText := edCollapse.text;
|
||||||
|
td.CollapsControlText := edExpand.Text;
|
||||||
|
|
||||||
|
// Programmer defined Custom Buttons
|
||||||
|
if cbCustom.Checked and (length(edCustombuttons.text) > 0) then
|
||||||
|
begin
|
||||||
|
td.CommonButtons := [];
|
||||||
|
txt := edCustomButtons.text;
|
||||||
|
if length(txt) > 0 then
|
||||||
|
begin
|
||||||
|
lab := '';
|
||||||
|
inquote := false;
|
||||||
|
for i := 1 to length(txt) do
|
||||||
|
begin
|
||||||
|
if txt[i] = '"' then
|
||||||
|
inQuote := not Inquote;
|
||||||
|
if ((txt[i] = ' ') and (not inQuote)) or (i = length(txt)) then
|
||||||
|
begin // have end of a button
|
||||||
|
if (i = length(txt)) and (txt[i] <> ' ') then
|
||||||
|
lab := lab + txt[i];
|
||||||
|
if length(lab) > 0 then
|
||||||
|
td.CustomButtons.add(lab);
|
||||||
|
lab := '';
|
||||||
|
end else if txt[i] <> '"' then
|
||||||
|
lab := lab + txt[i];
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
// Common buttons To be shown
|
||||||
|
if cbBtnOK.checked then
|
||||||
|
td.CommonButtons := td.CommonButtons + [cbOK];
|
||||||
|
if cbBtnYes.checked then
|
||||||
|
td.CommonButtons := td.CommonButtons + [cbYes];
|
||||||
|
if cbBtnNo.checked then
|
||||||
|
td.CommonButtons := td.CommonButtons + [cbNo];
|
||||||
|
if cbBtnCancel.checked then
|
||||||
|
td.CommonButtons := td.CommonButtons + [cbCancel];
|
||||||
|
if cbBtnRetry.checked then
|
||||||
|
td.CommonButtons := td.CommonButtons + [cbRetry];
|
||||||
|
if cbBtnClose.checked then
|
||||||
|
td.CommonButtons := td.CommonButtons + [cbClose];
|
||||||
|
|
||||||
|
if spnDefButton.Value <> 0 then
|
||||||
|
td.DefaultButton := spnDefButton.Value;
|
||||||
|
|
||||||
|
// Footer message
|
||||||
|
if cbFooter.checked then
|
||||||
|
begin
|
||||||
|
msg := '';
|
||||||
|
for i := 0 to MemoFooter.Lines.count - 1 do
|
||||||
|
msg := msg +memoFooter.lines[i]+ '\n';
|
||||||
|
setlength(msg,length(msg)-2);
|
||||||
|
td.Footer := msg;
|
||||||
|
end;
|
||||||
|
|
||||||
|
td.Icon := tiWarning;
|
||||||
|
td.FooterIcon := tfiError;
|
||||||
|
|
||||||
|
ButtonChecked := td.Execute;
|
||||||
|
|
||||||
|
msg := '';
|
||||||
|
if cbRadioButtons.checked then
|
||||||
|
msg := 'Radio Button #'+IntToStr(td.RadioButtonResult-199)+' was selected.'+#13#10;
|
||||||
|
if buttonChecked < 100 then
|
||||||
|
begin // it's a standard button
|
||||||
|
case ButtonChecked of
|
||||||
|
id_OK: resname := 'cbOK';
|
||||||
|
id_YES: resname := 'cbYES';
|
||||||
|
id_NO: resname := 'cbNO';
|
||||||
|
id_CANCEL: resname := 'cbCANCEL';
|
||||||
|
id_RETRY: resname := 'cbRETRY';
|
||||||
|
id_ABORT: resname := 'cbCLOSE';
|
||||||
|
else
|
||||||
|
resname := 'UNKNOWN';
|
||||||
|
end;
|
||||||
|
end else begin
|
||||||
|
resName := td.CustomButtons[ButtonChecked-100];
|
||||||
|
end;
|
||||||
|
msg := msg +'<'+resname+'> Button (#'+IntToStr(ButtonChecked)+') was clicked.';
|
||||||
|
if cbVerify.Checked then
|
||||||
|
begin
|
||||||
|
msg := msg + #13#10+'Verify box was ';
|
||||||
|
if not td.VerifyResult then
|
||||||
|
msg := msg +'NOT ';
|
||||||
|
msg := msg + 'checked.';
|
||||||
|
end;
|
||||||
|
td.Free;
|
||||||
|
tmsShowmessage('TaskDialog Espoerer',msg,'',tiInformation);
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TMainForm.Button3Click(Sender: TObject);
|
||||||
|
begin
|
||||||
|
tmsShowmessage('This is the Title','This is the Instruction','This is the content',tiWarning);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TMainForm.cbCaptionClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
edCaption.Enabled := (sender as tCheckbox).checked;
|
||||||
|
if edCaption.Enabled and (edCaption.Text = '') then
|
||||||
|
edCaption.text := 'Test of AdvTaskDialog';
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TMainForm.cbContentClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
MemoContent.Enabled := (sender as tCheckbox).checked;
|
||||||
|
if MemoContent.Enabled and (MemoContent.lines.count = 0) then
|
||||||
|
memoContent.lines.text := 'This is the normal "content" of the dialog.'#13#10+
|
||||||
|
'Notice it''s in relatively small print.';
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TMainForm.cbCustomClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
edCustomButtons.Enabled := (sender as tCheckbox).checked;
|
||||||
|
if edCustomButtons.enabled and (edCustomButtons.Text = '') then
|
||||||
|
edCustomButtons.text := '"Custom 1" "Custom 2"';
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TMainForm.cbExpandedClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
MemoExpand.enabled := (sender as tCheckbox).checked;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TMainForm.cbFooterClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
MemoFooter.Enabled := (sender as tcheckbox).checked;
|
||||||
|
if MemoFooter.Enabled and (MemoFooter.Lines.count = 0) then
|
||||||
|
memoFooter.Lines.Text := 'Sample footer Message'#13#10+
|
||||||
|
'For Example: If you do this you will loose all unsaved changes.';
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TMainForm.cbInstructionClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
MemoInstruction.Enabled := (sender as tCheckbox).Checked;
|
||||||
|
if MemoInstruction.Enabled and (memoInstruction.lines.count = 0) then
|
||||||
|
MemoInstruction.Lines.text := 'This is the bold blue main instruction and'#1310+
|
||||||
|
'can be mulitple lines.';
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TMainForm.cbRadioButtonsClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
memoRadioButtons.Enabled := (sender as tCheckbox).checked;
|
||||||
|
if memoradioButtons.Enabled and (memoRadioButtons.lines.count = 0) then
|
||||||
|
begin
|
||||||
|
memoRadioButtons.Lines.Add('Test Radio Button #1');
|
||||||
|
memoRadioButtons.Lines.Add('Test Radio button #2');
|
||||||
|
MemoRadioButtons.Lines.Add('Test Radio Button #3');
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TMainForm.cbVerifyClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
edVerifyText.enabled := (sender as tCheckbox).Checked;
|
||||||
|
if edverifyText.Enabled and (edVerifyText.Text = '') then
|
||||||
|
edVerifyText.text := 'Check Box if you can read :)';
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TMainForm.specialButtonClick(sender: tObject; buttonid: integer);
|
||||||
|
var
|
||||||
|
td: tAdvTaskDialog;
|
||||||
|
begin
|
||||||
|
td := sender as tAdvTaskDialog;
|
||||||
|
td.tag := buttonid;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
BIN
TAdvTaskDialog/internal/1.5.1.6/1/Lib/D12/PictureContainer.dcu
Normal file
BIN
TAdvTaskDialog/internal/1.5.1.6/1/Lib/D12/PictureContainer.dcu
Normal file
Binary file not shown.
BIN
TAdvTaskDialog/internal/1.5.1.6/1/Lib/D12/SpanishConsts.dcu
Normal file
BIN
TAdvTaskDialog/internal/1.5.1.6/1/Lib/D12/SpanishConsts.dcu
Normal file
Binary file not shown.
BIN
TAdvTaskDialog/internal/1.5.1.6/1/Lib/D12/SpanishContst.dcu
Normal file
BIN
TAdvTaskDialog/internal/1.5.1.6/1/Lib/D12/SpanishContst.dcu
Normal file
Binary file not shown.
BIN
TAdvTaskDialog/internal/1.5.1.6/1/Lib/D12/TaskDialog.dcu
Normal file
BIN
TAdvTaskDialog/internal/1.5.1.6/1/Lib/D12/TaskDialog.dcu
Normal file
Binary file not shown.
BIN
TAdvTaskDialog/internal/1.5.1.6/1/Lib/D12/TaskDialog.res
Normal file
BIN
TAdvTaskDialog/internal/1.5.1.6/1/Lib/D12/TaskDialog.res
Normal file
Binary file not shown.
BIN
TAdvTaskDialog/internal/1.5.1.6/1/Lib/D12/TaskDialogDE.dcu
Normal file
BIN
TAdvTaskDialog/internal/1.5.1.6/1/Lib/D12/TaskDialogDE.dcu
Normal file
Binary file not shown.
BIN
TAdvTaskDialog/internal/1.5.1.6/1/Lib/D12/TaskDialogPkg.bpl
Normal file
BIN
TAdvTaskDialog/internal/1.5.1.6/1/Lib/D12/TaskDialogPkg.bpl
Normal file
Binary file not shown.
BIN
TAdvTaskDialog/internal/1.5.1.6/1/Lib/D12/TaskDialogPkg.dcp
Normal file
BIN
TAdvTaskDialog/internal/1.5.1.6/1/Lib/D12/TaskDialogPkg.dcp
Normal file
Binary file not shown.
BIN
TAdvTaskDialog/internal/1.5.1.6/1/Lib/D12/TaskDialogPkg.dcu
Normal file
BIN
TAdvTaskDialog/internal/1.5.1.6/1/Lib/D12/TaskDialogPkg.dcu
Normal file
Binary file not shown.
BIN
TAdvTaskDialog/internal/1.5.1.6/1/Lib/D12/TaskDialogRegDE.dcu
Normal file
BIN
TAdvTaskDialog/internal/1.5.1.6/1/Lib/D12/TaskDialogRegDE.dcu
Normal file
Binary file not shown.
22
TAdvTaskDialog/internal/1.5.1.6/1/Source/SpanishConsts.pas
Normal file
22
TAdvTaskDialog/internal/1.5.1.6/1/Source/SpanishConsts.pas
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
unit SpanishConsts;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
resourcestring
|
||||||
|
SSpanishMsgDlgOK = 'OK';
|
||||||
|
SSpanishMsgDlgYes = '&Si';
|
||||||
|
SSpanishMsgDlgNo = '&No';
|
||||||
|
SSpanishMsgDlgCancel = 'Cancelar';
|
||||||
|
SSpanishMsgDlgAbort = '&Abortar';
|
||||||
|
SSpanishMsgDlgRetry = '&Reintentar';
|
||||||
|
|
||||||
|
SSpanishMsgDlgWarning = 'Aviso';
|
||||||
|
SSpanishMsgDlgError = 'Error';
|
||||||
|
SSpanishMsgDlgInformation = 'Información';
|
||||||
|
SSpanishMsgDlgConfirm = 'Confirmación';
|
||||||
|
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
end.
|
||||||
|
|
||||||
4814
TAdvTaskDialog/internal/1.5.1.6/1/Source/TaskDialog.pas
Normal file
4814
TAdvTaskDialog/internal/1.5.1.6/1/Source/TaskDialog.pas
Normal file
File diff suppressed because it is too large
Load Diff
BIN
TAdvTaskDialog/internal/1.5.1.6/1/Source/TaskDialog.res
Normal file
BIN
TAdvTaskDialog/internal/1.5.1.6/1/Source/TaskDialog.res
Normal file
Binary file not shown.
84
TAdvTaskDialog/internal/1.5.1.6/1/Source/TaskDialogDE.pas
Normal file
84
TAdvTaskDialog/internal/1.5.1.6/1/Source/TaskDialogDE.pas
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
{***************************************************************************}
|
||||||
|
{ TTaskDialog component }
|
||||||
|
{ for Delphi & C++Builder }
|
||||||
|
{ version 1.2 }
|
||||||
|
{ }
|
||||||
|
{ written by TMS Software }
|
||||||
|
{ copyright © 2006 - 2007 }
|
||||||
|
{ Email : info@tmssoftware.com }
|
||||||
|
{ Web : http://www.tmssoftware.com }
|
||||||
|
{ }
|
||||||
|
{ The source code is given as is. The author is not responsible }
|
||||||
|
{ for any possible damage done due to the use of this code. }
|
||||||
|
{ The component can be freely used in any application. The complete }
|
||||||
|
{ source code remains property of the author and may not be distributed, }
|
||||||
|
{ published, given or sold in any form as such. No parts of the source }
|
||||||
|
{ code can be included in any other component or application without }
|
||||||
|
{ written authorization of the author. }
|
||||||
|
{***************************************************************************}
|
||||||
|
|
||||||
|
unit TaskDialogDE;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
{$I TMSDEFS.INC}
|
||||||
|
|
||||||
|
uses
|
||||||
|
Classes, Graphics, Comctrls, Windows, Forms, TypInfo, Dialogs, ExtCtrls,
|
||||||
|
Controls, ExtDlgs, TaskDialog
|
||||||
|
{$IFDEF DELPHI6_LVL}
|
||||||
|
{$IFNDEF TMSDOTNET}
|
||||||
|
, DesignIntf, DesignEditors, ContNrs
|
||||||
|
{$ENDIF}
|
||||||
|
{$IFDEF TMSDOTNET}
|
||||||
|
, Borland.Vcl.design.DesignIntf, Borland.Vcl.design.DesignEditors, ContNrs
|
||||||
|
{$ENDIF}
|
||||||
|
{$ELSE}
|
||||||
|
, DsgnIntf
|
||||||
|
{$ENDIF}
|
||||||
|
;
|
||||||
|
|
||||||
|
type
|
||||||
|
|
||||||
|
TTaskDialogEditor = class(TDefaultEditor)
|
||||||
|
public
|
||||||
|
function GetVerb(Index: Integer):string; override;
|
||||||
|
function GetVerbCount: Integer; override;
|
||||||
|
procedure ExecuteVerb(Index: Integer); override;
|
||||||
|
end;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
{ TTaskDialogEditor }
|
||||||
|
|
||||||
|
procedure TTaskDialogEditor.ExecuteVerb(Index: Integer);
|
||||||
|
var
|
||||||
|
AppIsParent: boolean;
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
case Index of
|
||||||
|
0:
|
||||||
|
begin
|
||||||
|
AppIsParent := TAdvTaskDialog(Component).ApplicationIsParent;
|
||||||
|
TAdvTaskDialog(Component).ApplicationIsParent := true;
|
||||||
|
TAdvTaskDialog(Component).Execute;
|
||||||
|
TAdvTaskDialog(Component).ApplicationIsParent := AppIsParent;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TTaskDialogEditor.GetVerb(Index: Integer): string;
|
||||||
|
begin
|
||||||
|
case Index of
|
||||||
|
0: Result := 'Preview';
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TTaskDialogEditor.GetVerbCount: Integer;
|
||||||
|
begin
|
||||||
|
Result := 1;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
end.
|
||||||
300
TAdvTaskDialog/internal/1.5.1.6/1/Source/TaskDialogEx.pas
Normal file
300
TAdvTaskDialog/internal/1.5.1.6/1/Source/TaskDialogEx.pas
Normal file
@ -0,0 +1,300 @@
|
|||||||
|
{***************************************************************************}
|
||||||
|
{ TTaskDialogEx component }
|
||||||
|
{ for Delphi & C++Builder }
|
||||||
|
{ }
|
||||||
|
{ written by TMS Software }
|
||||||
|
{ copyright © 2007 - 2008 }
|
||||||
|
{ Email : info@tmssoftware.com }
|
||||||
|
{ Web : http://www.tmssoftware.com }
|
||||||
|
{ }
|
||||||
|
{ The source code is given as is. The author is not responsible }
|
||||||
|
{ for any possible damage done due to the use of this code. }
|
||||||
|
{ The component can be freely used in any application. The complete }
|
||||||
|
{ source code remains property of the author and may not be distributed, }
|
||||||
|
{ published, given or sold in any form as such. No parts of the source }
|
||||||
|
{ code can be included in any other component or application without }
|
||||||
|
{ written authorization of the author. }
|
||||||
|
{***************************************************************************}
|
||||||
|
|
||||||
|
unit TaskDialogEx;
|
||||||
|
|
||||||
|
{$I TMSDEFS.INC}
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Classes, Windows, Messages, Forms, Dialogs, SysUtils, StdCtrls, Graphics, Consts, Math,
|
||||||
|
ExtCtrls, Controls, TaskDialog, AdvGlowButton, AdvOfficeButtons;
|
||||||
|
|
||||||
|
type
|
||||||
|
TButtonCreatedEvent = procedure(Sender: TObject; Button: TAdvGlowButton) of object;
|
||||||
|
|
||||||
|
TAdvTaskDialogEx = class(TAdvTaskDialog)
|
||||||
|
private
|
||||||
|
FOnButtonCreated: TButtonCreatedEvent;
|
||||||
|
FAppearance: TGlowButtonAppearance;
|
||||||
|
protected
|
||||||
|
function CreateRadioButton(AOwner: TComponent): TWinControl; override;
|
||||||
|
procedure SetRadioButtonState(Btn: TWinControl; Checked: boolean); override;
|
||||||
|
procedure SetRadioButtonCaption(Btn: TWinControl; Value: string); override;
|
||||||
|
function CreateButton(AOwner: TComponent): TWinControl; override;
|
||||||
|
procedure InitRadioButton(AOwner: TForm; Btn: TWinControl; btnIndex: Integer; OnClickEvent : TNotifyEvent); override;
|
||||||
|
procedure SetButtonCaption(aButton: TWinControl; Value: TCaption); override;
|
||||||
|
procedure SetButtonCancel(aButton: TWinControl; Value: Boolean); override;
|
||||||
|
procedure SetButtonDefault(aButton: TWinControl; Value: Boolean); override;
|
||||||
|
procedure SetButtonModalResult(aButton: TWinControl; Value: Integer); override;
|
||||||
|
function GetButtonModalResult(aButton: TWinControl): Integer; override;
|
||||||
|
public
|
||||||
|
property Appearance: TGlowButtonAppearance read FAppearance write FAppearance;
|
||||||
|
property OnButtonCreated:TButtonCreatedEvent read FOnButtonCreated write FOnButtonCreated;
|
||||||
|
end;
|
||||||
|
|
||||||
|
TAdvInputTaskDialogEx = class(TAdvInputTaskDialog)
|
||||||
|
private
|
||||||
|
FOnButtonCreated: TButtonCreatedEvent;
|
||||||
|
FAppearance: TGlowButtonAppearance;
|
||||||
|
protected
|
||||||
|
function CreateRadioButton(AOwner: TComponent): TWinControl; override;
|
||||||
|
procedure SetRadioButtonState(Btn: TWinControl; Checked: boolean); override;
|
||||||
|
procedure SetRadioButtonCaption(Btn: TWinControl; Value: string); override;
|
||||||
|
function CreateButton(AOwner: TComponent): TWinControl; override;
|
||||||
|
procedure InitRadioButton(AOwner: TForm; Btn: TWinControl; btnIndex: Integer; OnClickEvent : TNotifyEvent); override;
|
||||||
|
procedure SetButtonCaption(aButton: TWinControl; Value: TCaption); override;
|
||||||
|
procedure SetButtonCancel(aButton: TWinControl; Value: Boolean); override;
|
||||||
|
procedure SetButtonDefault(aButton: TWinControl; Value: Boolean); override;
|
||||||
|
procedure SetButtonModalResult(aButton: TWinControl; Value: Integer); override;
|
||||||
|
function GetButtonModalResult(aButton: TWinControl): Integer; override;
|
||||||
|
public
|
||||||
|
property Appearance: TGlowButtonAppearance read FAppearance write FAppearance;
|
||||||
|
property OnButtonCreated:TButtonCreatedEvent read FOnButtonCreated write FOnButtonCreated;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
procedure Register;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
procedure Register;
|
||||||
|
begin
|
||||||
|
RegisterComponents('TMS',[TAdvTaskDialogEx]);
|
||||||
|
end;
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
{ TAdvTaskDialogEx }
|
||||||
|
|
||||||
|
function TAdvTaskDialogEx.CreateButton(AOwner: TComponent): TWinControl;
|
||||||
|
begin
|
||||||
|
Result := TAdvGlowButton.Create(AOwner);
|
||||||
|
if Assigned(FAppearance) then
|
||||||
|
(Result as TAdvGlowButton).Appearance := FAppearance;
|
||||||
|
(Result as TAdvGlowButton).TabStop := true;
|
||||||
|
if Assigned(FOnButtonCreated) then
|
||||||
|
FOnButtonCreated(Self,(Result as TAdvGlowButton));
|
||||||
|
end;
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
function TAdvTaskDialogEx.CreateRadioButton(AOwner: TComponent): TWinControl;
|
||||||
|
begin
|
||||||
|
Result := TAdvOfficeRadioButton.Create(AOwner);
|
||||||
|
end;
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
function TAdvTaskDialogEx.GetButtonModalResult(
|
||||||
|
aButton: TWinControl): Integer;
|
||||||
|
begin
|
||||||
|
Result := mrNone;
|
||||||
|
if not Assigned(aButton) or not (aButton is TAdvGlowButton) then
|
||||||
|
Exit;
|
||||||
|
|
||||||
|
Result := TAdvGlowButton(aButton).ModalResult;
|
||||||
|
end;
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
procedure TAdvTaskDialogEx.SetButtonCancel(aButton: TWinControl;
|
||||||
|
Value: Boolean);
|
||||||
|
begin
|
||||||
|
if not Assigned(aButton) or not (aButton is TAdvGlowButton) then
|
||||||
|
Exit;
|
||||||
|
|
||||||
|
TAdvGlowButton(aButton).Cancel := Value;
|
||||||
|
end;
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
procedure TAdvTaskDialogEx.SetButtonCaption(aButton: TWinControl;
|
||||||
|
Value: TCaption);
|
||||||
|
begin
|
||||||
|
if not Assigned(aButton) or not (aButton is TAdvGlowButton) then
|
||||||
|
Exit;
|
||||||
|
|
||||||
|
TAdvGlowButton(aButton).Caption := Value;
|
||||||
|
end;
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
procedure TAdvTaskDialogEx.SetButtonDefault(aButton: TWinControl;
|
||||||
|
Value: Boolean);
|
||||||
|
begin
|
||||||
|
if not Assigned(aButton) or not (aButton is TAdvGlowButton) then
|
||||||
|
Exit;
|
||||||
|
|
||||||
|
TAdvGlowButton(aButton).Default := Value;
|
||||||
|
end;
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
procedure TAdvTaskDialogEx.SetButtonModalResult(aButton: TWinControl;
|
||||||
|
Value: Integer);
|
||||||
|
begin
|
||||||
|
if not Assigned(aButton) or not (aButton is TAdvGlowButton) then
|
||||||
|
Exit;
|
||||||
|
|
||||||
|
TAdvGlowButton(aButton).ModalResult := Value;
|
||||||
|
end;
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
procedure TAdvTaskDialogEx.SetRadioButtonCaption(Btn: TWinControl;
|
||||||
|
Value: string);
|
||||||
|
begin
|
||||||
|
TAdvOfficeRadioButton(Btn).Caption := Value;
|
||||||
|
end;
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
procedure TAdvTaskDialogEx.SetRadioButtonState(Btn: TWinControl;
|
||||||
|
Checked: boolean);
|
||||||
|
begin
|
||||||
|
TAdvOfficeRadioButton(Btn).Checked := Checked;
|
||||||
|
end;
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
procedure TAdvTaskDialogEx.InitRadioButton(AOwner: TForm; Btn: TWinControl; btnIndex: Integer; OnClickEvent : TNotifyEvent);
|
||||||
|
begin
|
||||||
|
with TRadioButton(Btn) do
|
||||||
|
begin
|
||||||
|
Name := 'Radio' + inttostr(btnIndex);
|
||||||
|
Parent := AOwner;
|
||||||
|
Font.Name := AOwner.Canvas.Font.Name;
|
||||||
|
Font.Size := 8;
|
||||||
|
BiDiMode := AOwner.BiDiMode;
|
||||||
|
OnClick := OnClickEvent;
|
||||||
|
|
||||||
|
{
|
||||||
|
BoundsRect := TextRect;
|
||||||
|
Left := FHorzParaMargin + FHorzMargin; //ALeft + FHorzMargin;
|
||||||
|
Top := Y;
|
||||||
|
Width := Self.Width - Left - 4;
|
||||||
|
GetTextSize(Canvas, Caption, k, l);
|
||||||
|
w := Max(w, Left + k + FHorzMargin + 20);
|
||||||
|
}
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ TAdvInputTaskDialogEx }
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
function TAdvInputTaskDialogEx.CreateButton(AOwner: TComponent): TWinControl;
|
||||||
|
begin
|
||||||
|
Result := TAdvGlowButton.Create(AOwner);
|
||||||
|
if Assigned(FAppearance) then
|
||||||
|
(Result as TAdvGlowButton).Appearance := FAppearance;
|
||||||
|
(Result as TAdvGlowButton).TabStop := true;
|
||||||
|
if Assigned(FOnButtonCreated) then
|
||||||
|
FOnButtonCreated(Self,(Result as TAdvGlowButton));
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TAdvInputTaskDialogEx.CreateRadioButton(
|
||||||
|
AOwner: TComponent): TWinControl;
|
||||||
|
begin
|
||||||
|
Result := TAdvOfficeRadioButton.Create(AOwner);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TAdvInputTaskDialogEx.GetButtonModalResult(
|
||||||
|
aButton: TWinControl): Integer;
|
||||||
|
begin
|
||||||
|
Result := mrNone;
|
||||||
|
if not Assigned(aButton) or not (aButton is TAdvGlowButton) then
|
||||||
|
Exit;
|
||||||
|
|
||||||
|
Result := TAdvGlowButton(aButton).ModalResult;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TAdvInputTaskDialogEx.SetButtonCancel(aButton: TWinControl;
|
||||||
|
Value: Boolean);
|
||||||
|
begin
|
||||||
|
if not Assigned(aButton) or not (aButton is TAdvGlowButton) then
|
||||||
|
Exit;
|
||||||
|
|
||||||
|
TAdvGlowButton(aButton).Cancel := Value;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TAdvInputTaskDialogEx.SetButtonCaption(aButton: TWinControl;
|
||||||
|
Value: TCaption);
|
||||||
|
begin
|
||||||
|
if not Assigned(aButton) or not (aButton is TAdvGlowButton) then
|
||||||
|
Exit;
|
||||||
|
|
||||||
|
TAdvGlowButton(aButton).Caption := Value;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TAdvInputTaskDialogEx.SetButtonDefault(aButton: TWinControl;
|
||||||
|
Value: Boolean);
|
||||||
|
begin
|
||||||
|
if not Assigned(aButton) or not (aButton is TAdvGlowButton) then
|
||||||
|
Exit;
|
||||||
|
|
||||||
|
TAdvGlowButton(aButton).Default := Value;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TAdvInputTaskDialogEx.SetButtonModalResult(aButton: TWinControl;
|
||||||
|
Value: Integer);
|
||||||
|
begin
|
||||||
|
if not Assigned(aButton) or not (aButton is TAdvGlowButton) then
|
||||||
|
Exit;
|
||||||
|
|
||||||
|
TAdvGlowButton(aButton).ModalResult := Value;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TAdvInputTaskDialogEx.SetRadioButtonCaption(Btn: TWinControl;
|
||||||
|
Value: string);
|
||||||
|
begin
|
||||||
|
TAdvOfficeRadioButton(Btn).Caption := Value;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TAdvInputTaskDialogEx.SetRadioButtonState(Btn: TWinControl;
|
||||||
|
Checked: boolean);
|
||||||
|
begin
|
||||||
|
TAdvOfficeRadioButton(Btn).Checked := Checked;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TAdvInputTaskDialogEx.InitRadioButton(AOwner: TForm; Btn: TWinControl; btnIndex: Integer; OnClickEvent : TNotifyEvent);
|
||||||
|
begin
|
||||||
|
with TRadioButton(Btn) do
|
||||||
|
begin
|
||||||
|
Name := 'Radio' + inttostr(btnIndex);
|
||||||
|
Parent := AOwner;
|
||||||
|
Font.Name := AOwner.Canvas.Font.Name;
|
||||||
|
Font.Size := 8;
|
||||||
|
BiDiMode := AOwner.BiDiMode;
|
||||||
|
OnClick := OnClickEvent;
|
||||||
|
{
|
||||||
|
BoundsRect := TextRect;
|
||||||
|
Left := FHorzParaMargin + FHorzMargin; //ALeft + FHorzMargin;
|
||||||
|
Top := Y;
|
||||||
|
Width := Self.Width - Left - 4;
|
||||||
|
GetTextSize(Canvas, Caption, k, l);
|
||||||
|
w := Max(w, Left + k + FHorzMargin + 20);
|
||||||
|
}
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
40
TAdvTaskDialog/internal/1.5.1.6/1/Source/TaskDialogPkg.dpk
Normal file
40
TAdvTaskDialog/internal/1.5.1.6/1/Source/TaskDialogPkg.dpk
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
package TaskDialogPkg;
|
||||||
|
|
||||||
|
{$R *.res}
|
||||||
|
{$ALIGN 8}
|
||||||
|
{$ASSERTIONS ON}
|
||||||
|
{$BOOLEVAL OFF}
|
||||||
|
{$DEBUGINFO OFF}
|
||||||
|
{$EXTENDEDSYNTAX ON}
|
||||||
|
{$IMPORTEDDATA ON}
|
||||||
|
{$IOCHECKS ON}
|
||||||
|
{$LOCALSYMBOLS OFF}
|
||||||
|
{$LONGSTRINGS ON}
|
||||||
|
{$OPENSTRINGS ON}
|
||||||
|
{$OPTIMIZATION ON}
|
||||||
|
{$OVERFLOWCHECKS OFF}
|
||||||
|
{$RANGECHECKS OFF}
|
||||||
|
{$REFERENCEINFO OFF}
|
||||||
|
{$SAFEDIVIDE OFF}
|
||||||
|
{$STACKFRAMES OFF}
|
||||||
|
{$TYPEDADDRESS OFF}
|
||||||
|
{$VARSTRINGCHECKS ON}
|
||||||
|
{$WRITEABLECONST OFF}
|
||||||
|
{$MINENUMSIZE 1}
|
||||||
|
{$IMAGEBASE $400000}
|
||||||
|
{$DESCRIPTION 'TMS TaskDialog'}
|
||||||
|
{$IMPLICITBUILD OFF}
|
||||||
|
|
||||||
|
requires
|
||||||
|
rtl,
|
||||||
|
vcl,
|
||||||
|
designide;
|
||||||
|
|
||||||
|
contains
|
||||||
|
TaskDialogRegDE in 'TaskDialogRegDE.pas',
|
||||||
|
TaskDialog in 'TaskDialog.pas',
|
||||||
|
TaskDialogDE in 'TaskDialogDE.pas',
|
||||||
|
picturecontainer in 'picturecontainer.pas',
|
||||||
|
SpanishConsts in 'SpanishConsts.pas';
|
||||||
|
|
||||||
|
end.
|
||||||
91
TAdvTaskDialog/internal/1.5.1.6/1/Source/TaskDialogPkg.dproj
Normal file
91
TAdvTaskDialog/internal/1.5.1.6/1/Source/TaskDialogPkg.dproj
Normal file
@ -0,0 +1,91 @@
|
|||||||
|
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<PropertyGroup>
|
||||||
|
<ProjectGuid>{322e4f51-9fd5-43be-8659-42e8edcc60b1}</ProjectGuid>
|
||||||
|
<MainSource>TaskDialogPkg.dpk</MainSource>
|
||||||
|
<Configuration Condition=" '$(Configuration)' == '' ">Release</Configuration>
|
||||||
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||||
|
<DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
|
||||||
|
<DCC_DependencyCheckOutputName>..\Lib\D11\TaskDialogPkgD2007.bpl</DCC_DependencyCheckOutputName>
|
||||||
|
<ProjectVersion>12.0</ProjectVersion>
|
||||||
|
<Config Condition="'$(Config)'==''">Base</Config>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
|
||||||
|
<Base>true</Base>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Base)'!=''">
|
||||||
|
<DCC_DependencyCheckOutputName>..\Lib\D12\TaskDialogPkg.bpl</DCC_DependencyCheckOutputName>
|
||||||
|
<DCC_ImageBase>00400000</DCC_ImageBase>
|
||||||
|
<DesignOnlyPackage>false</DesignOnlyPackage>
|
||||||
|
<DCC_BplOutput>..\Lib\D12</DCC_BplOutput>
|
||||||
|
<DCC_LocalDebugSymbols>false</DCC_LocalDebugSymbols>
|
||||||
|
<DCC_Description>TMS TaskDialog</DCC_Description>
|
||||||
|
<DCC_DebugInformation>false</DCC_DebugInformation>
|
||||||
|
<DCC_OutputNeverBuildDcps>true</DCC_OutputNeverBuildDcps>
|
||||||
|
<DCC_DcpOutput>..\Lib\D12</DCC_DcpOutput>
|
||||||
|
<GenDll>true</GenDll>
|
||||||
|
<DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
|
||||||
|
<GenPackage>true</GenPackage>
|
||||||
|
<DCC_DcuOutput>..\Lib\D12</DCC_DcuOutput>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ProjectExtensions>
|
||||||
|
<Borland.Personality>Delphi.Personality.12</Borland.Personality>
|
||||||
|
<Borland.ProjectType>Package</Borland.ProjectType>
|
||||||
|
<BorlandProject>
|
||||||
|
<Delphi.Personality>
|
||||||
|
<Parameters>
|
||||||
|
<Parameters Name="UseLauncher">False</Parameters>
|
||||||
|
<Parameters Name="LoadAllSymbols">True</Parameters>
|
||||||
|
<Parameters Name="LoadUnspecifiedSymbols">False</Parameters>
|
||||||
|
</Parameters>
|
||||||
|
<VersionInfo>
|
||||||
|
<VersionInfo Name="IncludeVerInfo">True</VersionInfo>
|
||||||
|
<VersionInfo Name="AutoIncBuild">False</VersionInfo>
|
||||||
|
<VersionInfo Name="MajorVer">1</VersionInfo>
|
||||||
|
<VersionInfo Name="MinorVer">0</VersionInfo>
|
||||||
|
<VersionInfo Name="Release">0</VersionInfo>
|
||||||
|
<VersionInfo Name="Build">0</VersionInfo>
|
||||||
|
<VersionInfo Name="Debug">False</VersionInfo>
|
||||||
|
<VersionInfo Name="PreRelease">False</VersionInfo>
|
||||||
|
<VersionInfo Name="Special">False</VersionInfo>
|
||||||
|
<VersionInfo Name="Private">False</VersionInfo>
|
||||||
|
<VersionInfo Name="DLL">False</VersionInfo>
|
||||||
|
<VersionInfo Name="Locale">2067</VersionInfo>
|
||||||
|
<VersionInfo Name="CodePage">1252</VersionInfo>
|
||||||
|
</VersionInfo>
|
||||||
|
<VersionInfoKeys>
|
||||||
|
<VersionInfoKeys Name="CompanyName"/>
|
||||||
|
<VersionInfoKeys Name="FileDescription"/>
|
||||||
|
<VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys>
|
||||||
|
<VersionInfoKeys Name="InternalName"/>
|
||||||
|
<VersionInfoKeys Name="LegalCopyright"/>
|
||||||
|
<VersionInfoKeys Name="LegalTrademarks"/>
|
||||||
|
<VersionInfoKeys Name="OriginalFilename"/>
|
||||||
|
<VersionInfoKeys Name="ProductName"/>
|
||||||
|
<VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys>
|
||||||
|
<VersionInfoKeys Name="Comments"/>
|
||||||
|
</VersionInfoKeys>
|
||||||
|
<Source>
|
||||||
|
<Source Name="MainSource">TaskDialogPkg.dpk</Source>
|
||||||
|
</Source>
|
||||||
|
</Delphi.Personality>
|
||||||
|
</BorlandProject>
|
||||||
|
<ProjectFileVersion>12</ProjectFileVersion>
|
||||||
|
</ProjectExtensions>
|
||||||
|
<ItemGroup>
|
||||||
|
<DelphiCompile Include="TaskDialogPkg.dpk">
|
||||||
|
<MainSource>MainSource</MainSource>
|
||||||
|
</DelphiCompile>
|
||||||
|
<DCCReference Include="rtl.dcp"/>
|
||||||
|
<DCCReference Include="vcl.dcp"/>
|
||||||
|
<DCCReference Include="designide.dcp"/>
|
||||||
|
<DCCReference Include="TaskDialogRegDE.pas"/>
|
||||||
|
<DCCReference Include="TaskDialog.pas"/>
|
||||||
|
<DCCReference Include="TaskDialogDE.pas"/>
|
||||||
|
<DCCReference Include="picturecontainer.pas"/>
|
||||||
|
<DCCReference Include="SpanishConsts.pas"/>
|
||||||
|
<BuildConfiguration Include="Base">
|
||||||
|
<Key>Base</Key>
|
||||||
|
</BuildConfiguration>
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')"/>
|
||||||
|
</Project>
|
||||||
BIN
TAdvTaskDialog/internal/1.5.1.6/1/Source/TaskDialogPkg.res
Normal file
BIN
TAdvTaskDialog/internal/1.5.1.6/1/Source/TaskDialogPkg.res
Normal file
Binary file not shown.
49
TAdvTaskDialog/internal/1.5.1.6/1/Source/TaskDialogRegDE.pas
Normal file
49
TAdvTaskDialog/internal/1.5.1.6/1/Source/TaskDialogRegDE.pas
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
{***************************************************************************}
|
||||||
|
{ TTaskDialog component }
|
||||||
|
{ for Delphi & C++Builder }
|
||||||
|
{ version 1.2 }
|
||||||
|
{ }
|
||||||
|
{ written by TMS Software }
|
||||||
|
{ copyright © 2006 - 2007 }
|
||||||
|
{ Email : info@tmssoftware.com }
|
||||||
|
{ Web : http://www.tmssoftware.com }
|
||||||
|
{ }
|
||||||
|
{ The source code is given as is. The author is not responsible }
|
||||||
|
{ for any possible damage done due to the use of this code. }
|
||||||
|
{ The component can be freely used in any application. The complete }
|
||||||
|
{ source code remains property of the author and may not be distributed, }
|
||||||
|
{ published, given or sold in any form as such. No parts of the source }
|
||||||
|
{ code can be included in any other component or application without }
|
||||||
|
{ written authorization of the author. }
|
||||||
|
{***************************************************************************}
|
||||||
|
|
||||||
|
unit TaskDialogRegDE;
|
||||||
|
|
||||||
|
interface
|
||||||
|
{$I TMSDEFS.INC}
|
||||||
|
|
||||||
|
uses
|
||||||
|
Classes, TaskDialog, TaskDialogDE,
|
||||||
|
{$IFDEF DELPHI6_LVL}
|
||||||
|
{$IFDEF TMSDOTNET}
|
||||||
|
Borland.Vcl.Design.DesignIntf, Borland.Vcl.Design.DesignEditors
|
||||||
|
{$ENDIF}
|
||||||
|
{$IFNDEF TMSDOTNET}
|
||||||
|
DesignIntf, DesignEditors
|
||||||
|
{$ENDIF}
|
||||||
|
{$ELSE}
|
||||||
|
DsgnIntf
|
||||||
|
{$ENDIF}
|
||||||
|
;
|
||||||
|
|
||||||
|
procedure Register;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
procedure Register;
|
||||||
|
begin
|
||||||
|
RegisterComponentEditor(TAdvTaskDialog,TTaskDialogEditor);
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
|
|
||||||
2353
TAdvTaskDialog/internal/1.5.1.6/1/Source/htmlengo.pas
Normal file
2353
TAdvTaskDialog/internal/1.5.1.6/1/Source/htmlengo.pas
Normal file
File diff suppressed because it is too large
Load Diff
241
TAdvTaskDialog/internal/1.5.1.6/1/Source/picturecontainer.pas
Normal file
241
TAdvTaskDialog/internal/1.5.1.6/1/Source/picturecontainer.pas
Normal file
@ -0,0 +1,241 @@
|
|||||||
|
{**************************************************************************}
|
||||||
|
{ TPictureContainer component }
|
||||||
|
{ for Delphi & C++Builder }
|
||||||
|
{ version 1.0 }
|
||||||
|
{ }
|
||||||
|
{ Copyright © 2001 - 2005 }
|
||||||
|
{ TMS Software }
|
||||||
|
{ Email : info@tmssoftware.com }
|
||||||
|
{ Web : http://www.tmssoftware.com }
|
||||||
|
{ }
|
||||||
|
{ The source code is given as is. The author is not responsible }
|
||||||
|
{ for any possible damage done due to the use of this code. }
|
||||||
|
{ The component can be freely used in any application. The complete }
|
||||||
|
{ source code remains property of the author and may not be distributed, }
|
||||||
|
{ published, given or sold in any form as such. No parts of the source }
|
||||||
|
{ code can be included in any other component or application without }
|
||||||
|
{ written authorization of the author. }
|
||||||
|
{**************************************************************************}
|
||||||
|
|
||||||
|
unit PictureContainer;
|
||||||
|
|
||||||
|
{$I TMSDEFS.INC}
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
|
||||||
|
ComObj, ActiveX
|
||||||
|
{$IFDEF USEWININET}
|
||||||
|
, WinInet
|
||||||
|
{$ENDIF}
|
||||||
|
{$IFDEF TMSDOTNET}
|
||||||
|
, System.Runtime.InteropServices
|
||||||
|
{$ENDIF}
|
||||||
|
;
|
||||||
|
|
||||||
|
const
|
||||||
|
MAJ_VER = 1; // Major version nr.
|
||||||
|
MIN_VER = 0; // Minor version nr.
|
||||||
|
REL_VER = 0; // Release nr.
|
||||||
|
BLD_VER = 0; // Build nr.
|
||||||
|
|
||||||
|
|
||||||
|
type
|
||||||
|
{$I WIIF.PAS}
|
||||||
|
|
||||||
|
TPictureItem = class(TCollectionItem)
|
||||||
|
private
|
||||||
|
FPicture: THTMLPicture;
|
||||||
|
FTag: Integer;
|
||||||
|
FName: string;
|
||||||
|
procedure SetPicture(const Value: THTMLPicture);
|
||||||
|
public
|
||||||
|
constructor Create(Collection: TCollection); override;
|
||||||
|
destructor Destroy; override;
|
||||||
|
procedure Assign(Source: TPersistent); override;
|
||||||
|
published
|
||||||
|
property Picture: THTMLPicture read FPicture write SetPicture;
|
||||||
|
property Name: string read FName write FName;
|
||||||
|
property Tag: Integer read FTag write FTag;
|
||||||
|
end;
|
||||||
|
|
||||||
|
TPictureCollection = class(TCollection)
|
||||||
|
private
|
||||||
|
FOwner: TComponent;
|
||||||
|
function GetItem(Index: Integer): TPictureItem;
|
||||||
|
procedure SetItem(Index: Integer; Value: TPictureItem);
|
||||||
|
protected
|
||||||
|
function GetOwner: TPersistent; override;
|
||||||
|
public
|
||||||
|
constructor Create(AOwner:TComponent);
|
||||||
|
function Add: TPictureItem;
|
||||||
|
function Insert(index:integer): TPictureItem;
|
||||||
|
property Items[Index: Integer]: TPictureItem read GetItem write SetItem; default;
|
||||||
|
function Animate:Boolean;
|
||||||
|
end;
|
||||||
|
|
||||||
|
TPictureContainer = class(TComponent)
|
||||||
|
private
|
||||||
|
FItems: TPictureCollection;
|
||||||
|
procedure SetItems(const Value: TPictureCollection);
|
||||||
|
function GetVersion: string;
|
||||||
|
procedure SetVersion(const Value: string);
|
||||||
|
function GetVersionNr: Integer;
|
||||||
|
{ Private declarations }
|
||||||
|
protected
|
||||||
|
{ Protected declarations }
|
||||||
|
public
|
||||||
|
{ Public declarations }
|
||||||
|
constructor Create(AOwner: TComponent); override;
|
||||||
|
destructor Destroy; override;
|
||||||
|
function FindPicture(s:string): THTMLPicture; virtual;
|
||||||
|
published
|
||||||
|
{ Published declarations }
|
||||||
|
property Items: TPictureCollection read FItems write SetItems;
|
||||||
|
property Version: string read GetVersion write SetVersion;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
{$IFDEF TMSDOTNET}
|
||||||
|
uses
|
||||||
|
Types, WinUtils;
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
{$I WIIMPL.PAS}
|
||||||
|
|
||||||
|
{ TPictureItem }
|
||||||
|
|
||||||
|
procedure TPictureItem.Assign(Source: TPersistent);
|
||||||
|
begin
|
||||||
|
Name := (Source as TPictureItem).Name;
|
||||||
|
Tag := (Source as TPictureItem).Tag;
|
||||||
|
Picture.Assign((Source as TPictureItem).Picture)
|
||||||
|
end;
|
||||||
|
|
||||||
|
constructor TPictureItem.Create(Collection: TCollection);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
FPicture := THTMLPicture.Create;
|
||||||
|
end;
|
||||||
|
|
||||||
|
destructor TPictureItem.Destroy;
|
||||||
|
begin
|
||||||
|
FPicture.Free;
|
||||||
|
inherited;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TPictureItem.SetPicture(const Value: THTMLPicture);
|
||||||
|
begin
|
||||||
|
FPicture.Assign(Value);
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ TPictureCollection }
|
||||||
|
|
||||||
|
function TPictureCollection.Add: TPictureItem;
|
||||||
|
begin
|
||||||
|
Result := TPictureItem(inherited Add);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TPictureCollection.Animate: Boolean;
|
||||||
|
var
|
||||||
|
i: Integer;
|
||||||
|
begin
|
||||||
|
Result := False;
|
||||||
|
for i := 1 to Count do
|
||||||
|
begin
|
||||||
|
if Items[i - 1].Picture.Step then
|
||||||
|
Result := True;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
|
constructor TPictureCollection.Create(AOwner: TComponent);
|
||||||
|
begin
|
||||||
|
inherited Create(TPictureItem);
|
||||||
|
FOwner := AOwner;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TPictureCollection.GetItem(Index: Integer): TPictureItem;
|
||||||
|
begin
|
||||||
|
Result := TPictureItem(inherited Items[Index]);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TPictureCollection.GetOwner: TPersistent;
|
||||||
|
begin
|
||||||
|
Result := FOwner;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TPictureCollection.Insert(index: Integer): TPictureItem;
|
||||||
|
begin
|
||||||
|
{$IFDEF DELPHI4_LVL}
|
||||||
|
Result := TPictureItem(inherited Insert(Index));
|
||||||
|
{$ELSE}
|
||||||
|
Result := TPictureItem(inherited Add);
|
||||||
|
{$ENDIF}
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TPictureCollection.SetItem(Index: Integer;
|
||||||
|
Value: TPictureItem);
|
||||||
|
begin
|
||||||
|
inherited SetItem(Index, Value);
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ TPictureContainer }
|
||||||
|
|
||||||
|
constructor TPictureContainer.Create(AOwner: TComponent);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
FItems := TPictureCollection.Create(Self);
|
||||||
|
end;
|
||||||
|
|
||||||
|
destructor TPictureContainer.Destroy;
|
||||||
|
begin
|
||||||
|
FItems.Free;
|
||||||
|
inherited;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TPictureContainer.FindPicture(s: string): THTMLPicture;
|
||||||
|
var
|
||||||
|
i: Integer;
|
||||||
|
begin
|
||||||
|
Result := nil;
|
||||||
|
s := Uppercase(s);
|
||||||
|
i := 1;
|
||||||
|
while i <= Items.Count do
|
||||||
|
begin
|
||||||
|
if Uppercase(Items.Items[i - 1].Name) = s then
|
||||||
|
begin
|
||||||
|
Result := Items.Items[i - 1].Picture;
|
||||||
|
Break;
|
||||||
|
end;
|
||||||
|
Inc(i);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TPictureContainer.SetItems(const Value: TPictureCollection);
|
||||||
|
begin
|
||||||
|
FItems := Value;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TPictureContainer.GetVersion: string;
|
||||||
|
var
|
||||||
|
vn: Integer;
|
||||||
|
begin
|
||||||
|
vn := GetVersionNr;
|
||||||
|
Result := IntToStr(Hi(Hiword(vn)))+'.'+IntToStr(Lo(Hiword(vn)))+'.'+IntToStr(Hi(Loword(vn)))+'.'+IntToStr(Lo(Loword(vn)));
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TPictureContainer.GetVersionNr: Integer;
|
||||||
|
begin
|
||||||
|
Result := MakeLong(MakeWord(BLD_VER,REL_VER),MakeWord(MIN_VER,MAJ_VER));
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TPictureContainer.SetVersion(const Value: string);
|
||||||
|
begin
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
214
TAdvTaskDialog/internal/1.5.1.6/1/Source/tmsdefs.inc
Normal file
214
TAdvTaskDialog/internal/1.5.1.6/1/Source/tmsdefs.inc
Normal file
@ -0,0 +1,214 @@
|
|||||||
|
{$J+}
|
||||||
|
{$R-}
|
||||||
|
{$B-}
|
||||||
|
{$C+}
|
||||||
|
|
||||||
|
{$DEFINE TMSNOADO}
|
||||||
|
{$DEFINE TMSPACK}
|
||||||
|
{$DEFINE TMSTOOLBAR}
|
||||||
|
|
||||||
|
|
||||||
|
{$IFDEF LINUX}
|
||||||
|
{$DEFINE TMSCLX}
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
{$IFDEF VER90}
|
||||||
|
{$DEFINE DELPHI2_LVL}
|
||||||
|
{$DEFINE ISDELPHI}
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
{$IFDEF VER93}
|
||||||
|
{$DEFINE DELPHI2_LVL}
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
{$IFDEF VER100}
|
||||||
|
{$DEFINE DELPHI2_LVL}
|
||||||
|
{$DEFINE DELPHI3_LVL}
|
||||||
|
{$DEFINE ISDELPHI}
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
{$IFDEF VER110}
|
||||||
|
{$DEFINE DELPHI2_LVL}
|
||||||
|
{$DEFINE DELPHI3_LVL}
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
{$IFDEF VER120}
|
||||||
|
{$DEFINE DELPHI2_LVL}
|
||||||
|
{$DEFINE DELPHI3_LVL}
|
||||||
|
{$DEFINE DELPHI4_LVL}
|
||||||
|
{$DEFINE ISDELPHI}
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
{$IFDEF VER125}
|
||||||
|
{$DEFINE DELPHI2_LVL}
|
||||||
|
{$DEFINE DELPHI3_LVL}
|
||||||
|
{$DEFINE DELPHI4_LVL}
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
{$IFDEF VER130}
|
||||||
|
{$DEFINE DELPHI2_LVL}
|
||||||
|
{$DEFINE DELPHI3_LVL}
|
||||||
|
{$DEFINE DELPHI4_LVL}
|
||||||
|
{$DEFINE DELPHI5_LVL}
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
{$IFDEF VER140}
|
||||||
|
{$DEFINE DELPHI2_LVL}
|
||||||
|
{$DEFINE DELPHI3_LVL}
|
||||||
|
{$DEFINE DELPHI4_LVL}
|
||||||
|
{$DEFINE DELPHI5_LVL}
|
||||||
|
{$DEFINE DELPHI6_LVL}
|
||||||
|
{$IFNDEF BCB}
|
||||||
|
{$DEFINE ISDELPHI}
|
||||||
|
{$ENDIF}
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
{$IFDEF VER150}
|
||||||
|
{$DEFINE DELPHI2_LVL}
|
||||||
|
{$DEFINE DELPHI3_LVL}
|
||||||
|
{$DEFINE DELPHI4_LVL}
|
||||||
|
{$DEFINE DELPHI5_LVL}
|
||||||
|
{$DEFINE DELPHI6_LVL}
|
||||||
|
{$DEFINE DELPHI7_LVL}
|
||||||
|
{$IFNDEF BCB}
|
||||||
|
{$DEFINE ISDELPHI}
|
||||||
|
{$ENDIF}
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
{$IFDEF VER160}
|
||||||
|
{$DEFINE DELPHI2_LVL}
|
||||||
|
{$DEFINE DELPHI3_LVL}
|
||||||
|
{$DEFINE DELPHI4_LVL}
|
||||||
|
{$DEFINE DELPHI5_LVL}
|
||||||
|
{$DEFINE DELPHI6_LVL}
|
||||||
|
{$DEFINE DELPHI7_LVL}
|
||||||
|
{$DEFINE TMSDOTNET}
|
||||||
|
{$IFNDEF BCB}
|
||||||
|
{$DEFINE ISDELPHI}
|
||||||
|
{$ENDIF}
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
{$IFDEF VER170}
|
||||||
|
{$DEFINE DELPHI2_LVL}
|
||||||
|
{$DEFINE DELPHI3_LVL}
|
||||||
|
{$DEFINE DELPHI4_LVL}
|
||||||
|
{$DEFINE DELPHI5_LVL}
|
||||||
|
{$DEFINE DELPHI6_LVL}
|
||||||
|
{$DEFINE DELPHI7_LVL}
|
||||||
|
{$DEFINE DELPHI9_LVL}
|
||||||
|
{$IFDEF CLR}
|
||||||
|
{$DEFINE TMSDOTNET}
|
||||||
|
{$ENDIF}
|
||||||
|
{$IFNDEF BCB}
|
||||||
|
{$DEFINE ISDELPHI}
|
||||||
|
{$ENDIF}
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
{$IFDEF VER180}
|
||||||
|
{$DEFINE DELPHI2_LVL}
|
||||||
|
{$DEFINE DELPHI3_LVL}
|
||||||
|
{$DEFINE DELPHI4_LVL}
|
||||||
|
{$DEFINE DELPHI5_LVL}
|
||||||
|
{$DEFINE DELPHI6_LVL}
|
||||||
|
{$DEFINE DELPHI7_LVL}
|
||||||
|
{$DEFINE DELPHI9_LVL}
|
||||||
|
{$DEFINE DELPHI2006_LVL}
|
||||||
|
{$IFDEF CLR}
|
||||||
|
{$DEFINE TMSDOTNET}
|
||||||
|
{$ENDIF}
|
||||||
|
{$IFNDEF BCB}
|
||||||
|
{$DEFINE ISDELPHI}
|
||||||
|
{$ENDIF}
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
{$IFDEF VER185}
|
||||||
|
{$DEFINE DELPHI2_LVL}
|
||||||
|
{$DEFINE DELPHI3_LVL}
|
||||||
|
{$DEFINE DELPHI4_LVL}
|
||||||
|
{$DEFINE DELPHI5_LVL}
|
||||||
|
{$DEFINE DELPHI6_LVL}
|
||||||
|
{$DEFINE DELPHI7_LVL}
|
||||||
|
{$DEFINE DELPHI9_LVL}
|
||||||
|
{$DEFINE DELPHI2006_LVL}
|
||||||
|
{$DEFINE DELPHI2007_LVL}
|
||||||
|
{$IFDEF CLR}
|
||||||
|
{$DEFINE TMSDOTNET}
|
||||||
|
{$ENDIF}
|
||||||
|
{$IFNDEF BCB}
|
||||||
|
{$DEFINE ISDELPHI}
|
||||||
|
{$ENDIF}
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
{$IFDEF VER190}
|
||||||
|
{$DEFINE DELPHI2_LVL}
|
||||||
|
{$DEFINE DELPHI3_LVL}
|
||||||
|
{$DEFINE DELPHI4_LVL}
|
||||||
|
{$DEFINE DELPHI5_LVL}
|
||||||
|
{$DEFINE DELPHI6_LVL}
|
||||||
|
{$DEFINE DELPHI7_LVL}
|
||||||
|
{$DEFINE DELPHI9_LVL}
|
||||||
|
{$DEFINE DELPHI2006_LVL}
|
||||||
|
{$DEFINE DELPHI2007_LVL}
|
||||||
|
{$IFDEF CLR}
|
||||||
|
{$DEFINE TMSDOTNET}
|
||||||
|
{$ENDIF}
|
||||||
|
{$IFNDEF BCB}
|
||||||
|
{$DEFINE ISDELPHI}
|
||||||
|
{$ENDIF}
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
{$IFDEF VER200}
|
||||||
|
{$DEFINE DELPHI2_LVL}
|
||||||
|
{$DEFINE DELPHI3_LVL}
|
||||||
|
{$DEFINE DELPHI4_LVL}
|
||||||
|
{$DEFINE DELPHI5_LVL}
|
||||||
|
{$DEFINE DELPHI6_LVL}
|
||||||
|
{$DEFINE DELPHI7_LVL}
|
||||||
|
{$DEFINE DELPHI9_LVL}
|
||||||
|
{$DEFINE DELPHI2006_LVL}
|
||||||
|
{$DEFINE DELPHI2007_LVL}
|
||||||
|
{$DEFINE DELPHI_UNICODE}
|
||||||
|
{$IFDEF CLR}
|
||||||
|
{$DEFINE TMSDOTNET}
|
||||||
|
{$ENDIF}
|
||||||
|
{$IFNDEF BCB}
|
||||||
|
{$DEFINE ISDELPHI}
|
||||||
|
{$ENDIF}
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
|
||||||
|
{$IFDEF VER110}
|
||||||
|
{$ObjExportAll On}
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
{$IFDEF VER125}
|
||||||
|
{$ObjExportAll On}
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
{$IFDEF VER130}
|
||||||
|
{$IFDEF BCB}
|
||||||
|
{$ObjExportAll On}
|
||||||
|
{$ELSE}
|
||||||
|
{$DEFINE ISDELPHI}
|
||||||
|
{$ENDIF}
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
{$IFDEF ISDELPHI}
|
||||||
|
{$IFDEF DELPHI3_LVL}
|
||||||
|
{$DEFINE DELPHI_ONLY_LVL3}
|
||||||
|
{$ENDIF}
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
{$IFDEF DELPHI7_LVL}
|
||||||
|
{$WARN UNIT_PLATFORM OFF}
|
||||||
|
{$WARN SYMBOL_PLATFORM OFF}
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
|
||||||
|
{$IFNDEF TMSDOTNET}
|
||||||
|
|
||||||
|
{$DEFINE TMSGDIPLUS} // comment this line to disable GDI+ use in TAdvStringGrid
|
||||||
|
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
//{$DEFINE TMSDISABLEOLE} // uncomment this line to disable OLE initialization by TAdvStringGrid
|
||||||
257
TAdvTaskDialog/internal/1.5.1.6/1/Source/wiif.pas
Normal file
257
TAdvTaskDialog/internal/1.5.1.6/1/Source/wiif.pas
Normal file
@ -0,0 +1,257 @@
|
|||||||
|
TPicturePosition = (bpTopLeft,bpTopRight,bpBottomLeft,bpBottomRight,bpCenter,bpTiled,bpStretched);
|
||||||
|
|
||||||
|
THTMLPicture = class;
|
||||||
|
|
||||||
|
{$IFDEF TMSDOTNET}
|
||||||
|
|
||||||
|
{$EXTERNALSYM OLE_HANDLE}
|
||||||
|
OLE_HANDLE = LongWord;
|
||||||
|
|
||||||
|
{$EXTERNALSYM OLE_XPOS_PIXELS}
|
||||||
|
OLE_XPOS_PIXELS = Longint;
|
||||||
|
{$EXTERNALSYM OLE_YPOS_PIXELS}
|
||||||
|
OLE_YPOS_PIXELS = Longint;
|
||||||
|
{$EXTERNALSYM OLE_XSIZE_PIXELS}
|
||||||
|
OLE_XSIZE_PIXELS = Longint;
|
||||||
|
{$EXTERNALSYM OLE_YSIZE_PIXELS}
|
||||||
|
OLE_YSIZE_PIXELS = Longint;
|
||||||
|
|
||||||
|
{$EXTERNALSYM OLE_XPOS_HIMETRIC}
|
||||||
|
OLE_XPOS_HIMETRIC = Longint;
|
||||||
|
{$EXTERNALSYM OLE_YPOS_HIMETRIC}
|
||||||
|
OLE_YPOS_HIMETRIC = Longint;
|
||||||
|
{$EXTERNALSYM OLE_XSIZE_HIMETRIC}
|
||||||
|
OLE_XSIZE_HIMETRIC = Longint;
|
||||||
|
{$EXTERNALSYM OLE_YSIZE_HIMETRIC}
|
||||||
|
OLE_YSIZE_HIMETRIC = Longint;
|
||||||
|
|
||||||
|
{$EXTERNALSYM OLE_XPOS_CONTAINER}
|
||||||
|
OLE_XPOS_CONTAINER = Single;
|
||||||
|
{$EXTERNALSYM OLE_YPOS_CONTAINER}
|
||||||
|
OLE_YPOS_CONTAINER = Single;
|
||||||
|
{$EXTERNALSYM OLE_XSIZE_CONTAINER}
|
||||||
|
OLE_XSIZE_CONTAINER = Single;
|
||||||
|
{$EXTERNALSYM OLE_YSIZE_CONTAINER}
|
||||||
|
OLE_YSIZE_CONTAINER = Single;
|
||||||
|
|
||||||
|
|
||||||
|
[ComImport,
|
||||||
|
GuidAttribute('7BF80980-BF32-101A-8BBB-00AA00300CAB')]
|
||||||
|
// InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
|
||||||
|
IPicture = interface
|
||||||
|
function get_Handle(out handle: OLE_HANDLE): HResult;
|
||||||
|
function get_hPal(out handle: OLE_HANDLE): HResult;
|
||||||
|
function get_Type(out typ: Smallint): HResult;
|
||||||
|
function get_Width(out width: OLE_XSIZE_HIMETRIC): HResult;
|
||||||
|
function get_Height(out height: OLE_YSIZE_HIMETRIC): HResult;
|
||||||
|
function Render(dc: HDC; x, y, cx, cy: Longint;
|
||||||
|
xSrc: OLE_XPOS_HIMETRIC; ySrc: OLE_YPOS_HIMETRIC;
|
||||||
|
cxSrc: OLE_XSIZE_HIMETRIC; cySrc: OLE_YSIZE_HIMETRIC;
|
||||||
|
const rcWBounds: TRect): HResult;
|
||||||
|
function set_hPal(hpal: OLE_HANDLE): HResult;
|
||||||
|
function get_CurDC(out dcOut: HDC): HResult;
|
||||||
|
function SelectPicture(dcIn: HDC; out hdcOut: HDC;
|
||||||
|
out bmpOut: OLE_HANDLE): HResult;
|
||||||
|
function get_KeepOriginalFormat(out fkeep: BOOL): HResult;
|
||||||
|
function put_KeepOriginalFormat(fkeep: BOOL): HResult;
|
||||||
|
function PictureChanged: HResult;
|
||||||
|
function SaveAsFile(const stream: IStream; fSaveMemCopy: BOOL;
|
||||||
|
out cbSize: Longint): HResult;
|
||||||
|
function get_Attributes(out dwAttr: Longint): HResult;
|
||||||
|
end;
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
|
||||||
|
PInternetContent = ^TInternetContent;
|
||||||
|
TInternetContent = record
|
||||||
|
{$IFDEF USEWININET}
|
||||||
|
hresource: hinternet;
|
||||||
|
{$ENDIF}
|
||||||
|
Complete: Boolean;
|
||||||
|
HTMLPicture:THTMLPicture;
|
||||||
|
end;
|
||||||
|
|
||||||
|
TDownloadErrorEvent = procedure(Sender:TObject;err:string) of object;
|
||||||
|
TDownloadCompleteEvent = procedure(Sender:TObject) of object;
|
||||||
|
TDownloadCancelEvent = procedure(Sender:TObject;var Cancel:boolean) of object;
|
||||||
|
TDownloadProgressEvent = procedure(Sender:TObject;dwSize,dwTotSize:dword) of object;
|
||||||
|
|
||||||
|
TDownLoadThread = class(TThread)
|
||||||
|
private
|
||||||
|
HTMLPicture:THTMLPicture;
|
||||||
|
protected
|
||||||
|
procedure Execute; override;
|
||||||
|
public
|
||||||
|
constructor Create(aHTMLPicture:THTMLPicture);
|
||||||
|
end;
|
||||||
|
|
||||||
|
THTMLPicture = class(TGraphic)
|
||||||
|
private
|
||||||
|
{ Private declarations }
|
||||||
|
FDatastream:TMemoryStream;
|
||||||
|
FIsEmpty: Boolean;
|
||||||
|
FStretched: Boolean;
|
||||||
|
gpPicture: IPicture;
|
||||||
|
FLogPixX,FLogPixY: Integer;
|
||||||
|
FURL:string;
|
||||||
|
FID:string;
|
||||||
|
FIsDB: Boolean;
|
||||||
|
FAsynch: Boolean;
|
||||||
|
FThreadBusy: Boolean;
|
||||||
|
FFrame: Integer;
|
||||||
|
FFrameCount: Integer;
|
||||||
|
FOnFrameChange: TNotifyEvent;
|
||||||
|
FFrameXPos: Word;
|
||||||
|
FFrameYPos: Word;
|
||||||
|
FFrameXSize: Word;
|
||||||
|
FFrameYSize: Word;
|
||||||
|
FFrameTransp: Boolean;
|
||||||
|
FFrameDisposal: Word;
|
||||||
|
FAnimMaxX,FAnimMaxY: Word;
|
||||||
|
FNextCount: Integer;
|
||||||
|
FTimerCount: Integer;
|
||||||
|
FOnDownLoadProgress: TDownLoadProgressEvent;
|
||||||
|
FOnDownLoadCancel: TDownLoadCancelEvent;
|
||||||
|
FOnDownLoadComplete: TDownLoadCompleteEvent;
|
||||||
|
FOnDownLoadError: TDownLoadErrorEvent;
|
||||||
|
procedure LoadPicture;
|
||||||
|
function GetFrameCount: Integer;
|
||||||
|
function IsGIFFile: Boolean;
|
||||||
|
function GetFrameTime(i: Integer): Integer;
|
||||||
|
protected
|
||||||
|
{ Protected declarations }
|
||||||
|
function GetEmpty: Boolean; override;
|
||||||
|
function GetHeight: integer; override;
|
||||||
|
function GetWidth: integer; override;
|
||||||
|
procedure SetHeight(Value: integer); override;
|
||||||
|
procedure SetWidth(Value: integer); override;
|
||||||
|
procedure ReadData(Stream: TStream); override;
|
||||||
|
procedure WriteData(Stream: TStream); override;
|
||||||
|
procedure Draw(ACanvas: TCanvas; const Rect: TRect); override;
|
||||||
|
procedure DownLoadError(err:string);
|
||||||
|
procedure DownLoadComplete;
|
||||||
|
procedure DownLoadCancel(var cancel:boolean);
|
||||||
|
procedure DownLoadProgress(dwSize,dwTotSize:dword);
|
||||||
|
function GetStretched: boolean;
|
||||||
|
procedure SetStretched(const Value: boolean);
|
||||||
|
{$IFDEF USEWININET}
|
||||||
|
procedure DownLoad;
|
||||||
|
{$ENDIF}
|
||||||
|
public
|
||||||
|
{ Public declarations }
|
||||||
|
constructor Create; override;
|
||||||
|
destructor Destroy; override;
|
||||||
|
procedure Assign(Source: TPersistent); override;
|
||||||
|
procedure LoadFromFile(const FileName: string); override;
|
||||||
|
procedure LoadFromStream(Stream: TStream); override;
|
||||||
|
procedure SaveToStream(Stream: TStream); override;
|
||||||
|
procedure LoadFromResourceName(Instance: THandle; const ResName: String);
|
||||||
|
procedure LoadFromResourceID(Instance: THandle; ResID: Integer);
|
||||||
|
procedure LoadFromURL(url:string);
|
||||||
|
procedure LoadFromClipboardFormat(AFormat: Word; AData: THandle;
|
||||||
|
APalette: HPALETTE); override;
|
||||||
|
procedure SaveToClipboardFormat(var AFormat: Word; var AData: THandle;
|
||||||
|
var APalette: HPALETTE); override;
|
||||||
|
property Busy: Boolean read fThreadBusy;
|
||||||
|
property Asynch: Boolean read fAsynch write fAsynch;
|
||||||
|
property ID: string read FID write FID;
|
||||||
|
property IsDB: boolean read FIsDB write FIsDB;
|
||||||
|
property IsGIF: Boolean read IsGIFFile;
|
||||||
|
property FrameCount:Integer read GetFrameCount;
|
||||||
|
property FrameTime[i:Integer]:Integer read GetFrameTime;
|
||||||
|
function GetMaxHeight: Integer;
|
||||||
|
function GetMaxWidth: Integer;
|
||||||
|
procedure SetFrame(const Value:Integer);
|
||||||
|
procedure FrameNext;
|
||||||
|
procedure FramePrev;
|
||||||
|
function Step: Boolean;
|
||||||
|
property MaxWidth: integer read GetMaxWidth;
|
||||||
|
property MaxHeight: integer read GetMaxHeight;
|
||||||
|
property FrameXPos: word read FFrameXPos;
|
||||||
|
property FrameYPos: word read FFrameYPos;
|
||||||
|
published
|
||||||
|
{ Published declarations }
|
||||||
|
property Stretch:boolean read GetStretched write SetStretched;
|
||||||
|
property Frame:Integer read FFrame write SetFrame;
|
||||||
|
property OnFrameChange: TNotifyEvent read FOnFrameChange write FOnFrameChange;
|
||||||
|
property OnDownLoadError:TDownLoadErrorEvent read fOnDownLoadError write fOnDownLoadError;
|
||||||
|
property OnDownLoadComplete:TDownLoadCompleteEvent read fOnDownLoadComplete write fOnDownLoadComplete;
|
||||||
|
property OnDownLoadCancel:TDownLoadCancelEvent read fOnDownLoadCancel write fOnDownLoadCancel;
|
||||||
|
property OnDownLoadProgress:TDownLoadProgressEvent read fOnDownLoadProgress write fOnDownLoadProgress;
|
||||||
|
end;
|
||||||
|
|
||||||
|
THTMLPictureCache = class(TList)
|
||||||
|
private
|
||||||
|
procedure SetPicture(Index: Integer; Value: THTMLPicture);
|
||||||
|
function GetPicture(Index: Integer):THTMLPicture;
|
||||||
|
public
|
||||||
|
destructor Destroy; override;
|
||||||
|
property Items[index: Integer]: THTMLPicture read GetPicture write SetPicture; default;
|
||||||
|
function AddPicture:THTMLPicture;
|
||||||
|
function FindPicture(ID:string):THTMLPicture;
|
||||||
|
procedure ClearPictures;
|
||||||
|
function Animate: boolean;
|
||||||
|
end;
|
||||||
|
|
||||||
|
THTMLImage = class(TGraphicControl)
|
||||||
|
private
|
||||||
|
{ Private declarations }
|
||||||
|
FHTMLPicture:THTMLPicture;
|
||||||
|
FPicturePosition:TPicturePosition;
|
||||||
|
FOnDownLoadCancel: TDownLoadCancelEvent;
|
||||||
|
FOnDownLoadComplete: TDownLoadCompleteEvent;
|
||||||
|
FOnDownLoadError: TDownLoadErrorEvent;
|
||||||
|
FOnDownLoadProgress: TDownLoadProgressEvent;
|
||||||
|
procedure SetHTMLPicture(const Value: THTMLPicture);
|
||||||
|
procedure PictureChanged(sender:TObject);
|
||||||
|
procedure SetPicturePosition(const Value: TPicturePosition);
|
||||||
|
procedure DownLoadError(Sender:TObject;err:string);
|
||||||
|
procedure DownLoadComplete(Sender:TObject);
|
||||||
|
procedure DownLoadCancel(Sender:TObject;var Cancel: Boolean);
|
||||||
|
procedure DownLoadProgress(Sender:TObject;dwSize,dwTotSize:dword);
|
||||||
|
protected
|
||||||
|
{ Protected declarations }
|
||||||
|
procedure Paint; override;
|
||||||
|
procedure Loaded; override;
|
||||||
|
public
|
||||||
|
{ Public declarations }
|
||||||
|
constructor Create(aOwner:TComponent); override;
|
||||||
|
destructor Destroy; override;
|
||||||
|
published
|
||||||
|
{ Published declarations }
|
||||||
|
property HTMLPicture:THTMLPicture read FHTMLPicture write SetHTMLPicture;
|
||||||
|
property PicturePosition:TPicturePosition read FPicturePosition write SetPicturePosition;
|
||||||
|
{ inherited published properties}
|
||||||
|
property Align;
|
||||||
|
{$IFDEF DELPHI4_LVL}
|
||||||
|
property Anchors;
|
||||||
|
property Constraints;
|
||||||
|
property DragKind;
|
||||||
|
{$ENDIF}
|
||||||
|
property DragCursor;
|
||||||
|
property DragMode;
|
||||||
|
property Hint;
|
||||||
|
property ParentShowHint;
|
||||||
|
property ShowHint;
|
||||||
|
property Visible;
|
||||||
|
property OnClick;
|
||||||
|
{$IFDEF DELPHI5_LVL}
|
||||||
|
property OnContextPopup;
|
||||||
|
{$ENDIF}
|
||||||
|
property OnDblClick;
|
||||||
|
property OnDragDrop;
|
||||||
|
property OnDragOver;
|
||||||
|
{$IFDEF DELPHI4_LVL}
|
||||||
|
property OnEndDock;
|
||||||
|
property OnStartDock;
|
||||||
|
{$ENDIF}
|
||||||
|
property OnEndDrag;
|
||||||
|
property OnMouseDown;
|
||||||
|
property OnMouseUp;
|
||||||
|
property OnMouseMove;
|
||||||
|
property OnStartDrag;
|
||||||
|
property OnDownLoadError:TDownLoadErrorEvent read FOnDownLoadError write FOnDownLoadError;
|
||||||
|
property OnDownLoadComplete:TDownLoadCompleteEvent read FOnDownLoadComplete write FOnDownLoadComplete;
|
||||||
|
property OnDownLoadCancel:TDownLoadCancelEvent read FOnDownLoadCancel write FOnDownLoadCancel;
|
||||||
|
property OnDownLoadProgress:TDownLoadProgressEvent read FOnDownLoadProgress write FOnDownLoadProgress;
|
||||||
|
end;
|
||||||
908
TAdvTaskDialog/internal/1.5.1.6/1/Source/wiimpl.pas
Normal file
908
TAdvTaskDialog/internal/1.5.1.6/1/Source/wiimpl.pas
Normal file
@ -0,0 +1,908 @@
|
|||||||
|
const
|
||||||
|
HIMETRIC_INCH = 2540;
|
||||||
|
|
||||||
|
|
||||||
|
{ THTMLPicture }
|
||||||
|
|
||||||
|
procedure THTMLPicture.Assign(Source: TPersistent);
|
||||||
|
begin
|
||||||
|
FIsEmpty := true;
|
||||||
|
gpPicture := nil;
|
||||||
|
FFrameCount := -1;
|
||||||
|
FNextCount := -1;
|
||||||
|
FTimerCount := -1;
|
||||||
|
Frame := 1;
|
||||||
|
|
||||||
|
if Source = nil then
|
||||||
|
FDataStream.Clear
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
if (Source is THTMLPicture) then
|
||||||
|
begin
|
||||||
|
FStretched := (Source as THTMLPicture).Stretch;
|
||||||
|
FFrame := (Source as THTMLPicture).Frame;
|
||||||
|
FID := (Source as THTMLPicture).ID;
|
||||||
|
FDataStream.LoadFromStream(THTMLPicture(Source).fDataStream);
|
||||||
|
FIsEmpty := False;
|
||||||
|
LoadPicture;
|
||||||
|
if Assigned(OnChange) then
|
||||||
|
OnChange(self);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
constructor THTMLPicture.Create;
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
FDataStream := TMemoryStream.Create;
|
||||||
|
FIsEmpty := True;
|
||||||
|
gpPicture := nil;
|
||||||
|
FLogPixX := 96;
|
||||||
|
FLogPixY := 96;
|
||||||
|
FThreadBusy := False;
|
||||||
|
FAsynch := True;
|
||||||
|
FFrameCount := -1;
|
||||||
|
FNextCount := -1;
|
||||||
|
FTimerCount := -1;
|
||||||
|
FFrame := 1;
|
||||||
|
FIsDB := False;
|
||||||
|
end;
|
||||||
|
|
||||||
|
destructor THTMLPicture.Destroy;
|
||||||
|
begin
|
||||||
|
FDataStream.Free;
|
||||||
|
inherited;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure THTMLPicture.LoadPicture;
|
||||||
|
{$IFNDEF TMSDOTNET}
|
||||||
|
const
|
||||||
|
IID_IPicture: TGUID = (
|
||||||
|
D1:$7BF80980;D2:$BF32;D3:$101A;D4:($8B,$BB,$00,$AA,$00,$30,$0C,$AB));
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
var
|
||||||
|
hGlobal: THandle;
|
||||||
|
{$IFNDEF TMSDOTNET}
|
||||||
|
pvData: Pointer;
|
||||||
|
{$ENDIF}
|
||||||
|
{$IFDEF TMSDOTNET}
|
||||||
|
pvData: IntPtr;
|
||||||
|
{$ENDIF}
|
||||||
|
pstm: IStream;
|
||||||
|
hr: hResult;
|
||||||
|
GifStream: TMemoryStream;
|
||||||
|
i: Integer;
|
||||||
|
b,c,d,e: Byte;
|
||||||
|
skipimg: Boolean;
|
||||||
|
imgidx: Integer;
|
||||||
|
begin
|
||||||
|
{$IFNDEF TMSDOTNET}
|
||||||
|
hGlobal := GlobalAlloc(GMEM_MOVEABLE, FDataStream.Size);
|
||||||
|
if hGlobal = 0 then
|
||||||
|
raise Exception.Create('Could not allocate memory for image');
|
||||||
|
|
||||||
|
try
|
||||||
|
pvData := GlobalLock(hGlobal);
|
||||||
|
FDataStream.Position := 0;
|
||||||
|
|
||||||
|
FFrameXPos := 0;
|
||||||
|
FFrameYPos := 0;
|
||||||
|
FAnimMaxX := 0;
|
||||||
|
FAnimMaxY := 0;
|
||||||
|
|
||||||
|
{skip first image ctrl}
|
||||||
|
|
||||||
|
if IsGIF and (FrameCount > 0) then
|
||||||
|
begin
|
||||||
|
//manipulate the stream here for animated GIF ?
|
||||||
|
Gifstream := TMemoryStream.Create;
|
||||||
|
|
||||||
|
ImgIdx := 1;
|
||||||
|
SkipImg := False;
|
||||||
|
|
||||||
|
FDataStream.Position := 6;
|
||||||
|
FDataStream.Read(FAnimMaxX,2);
|
||||||
|
FDataStream.Read(FAnimMaxY,2);
|
||||||
|
|
||||||
|
for i := 1 to FDataStream.Size do
|
||||||
|
begin
|
||||||
|
FDataStream.Position := i - 1;
|
||||||
|
FDataStream.Read(b,1);
|
||||||
|
|
||||||
|
if (b = $21) and (i + 8 < FDataStream.Size) then
|
||||||
|
begin
|
||||||
|
FDataStream.Read(c,1);
|
||||||
|
FDataStream.Read(d,1);
|
||||||
|
FDataStream.Position := FDataStream.Position + 5;
|
||||||
|
|
||||||
|
FDataStream.Read(e,1);
|
||||||
|
if (c = $F9) and (d = $4) and (e = $2C) then
|
||||||
|
begin
|
||||||
|
if imgidx = FFrame then
|
||||||
|
begin
|
||||||
|
FDataStream.Read(FFrameXPos,2);
|
||||||
|
FDataStream.Read(FFrameYPos,2);
|
||||||
|
FDataStream.Read(FFrameXSize,2);
|
||||||
|
FDataStream.Read(FFrameYSize,2);
|
||||||
|
end;
|
||||||
|
|
||||||
|
Inc(ImgIdx);
|
||||||
|
if ImgIdx <= FFrame then
|
||||||
|
SkipImg := True
|
||||||
|
else
|
||||||
|
SkipImg := False;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
if not SkipImg then GifStream.Write(b,1);
|
||||||
|
end;
|
||||||
|
GifStream.Position := 0;
|
||||||
|
GifStream.ReadBuffer(pvData^,GifStream.Size);
|
||||||
|
GifStream.Free;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
FDataStream.ReadBuffer(pvData^,fDataStream.Size);
|
||||||
|
end;
|
||||||
|
|
||||||
|
GlobalUnlock(hGlobal);
|
||||||
|
|
||||||
|
pstm := nil;
|
||||||
|
|
||||||
|
// Create IStream* from global memory
|
||||||
|
hr := CreateStreamOnHGlobal(hGlobal, TRUE, pstm);
|
||||||
|
|
||||||
|
if (not hr=S_OK) then
|
||||||
|
raise Exception.Create('Could not create image stream')
|
||||||
|
else
|
||||||
|
if (pstm = nil) then
|
||||||
|
raise Exception.Create('Empty image stream created');
|
||||||
|
|
||||||
|
// Create IPicture from image file
|
||||||
|
hr := OleLoadPicture(pstm, FDataStream.Size,FALSE,IID_IPicture,gpPicture);
|
||||||
|
|
||||||
|
if not (hr = S_OK) then
|
||||||
|
raise Exception.Create('Could not load image. Invalid format')
|
||||||
|
else
|
||||||
|
if gpPicture = nil then
|
||||||
|
raise Exception.Create('Could not load image');
|
||||||
|
|
||||||
|
finally
|
||||||
|
GlobalFree(hGlobal);
|
||||||
|
end;
|
||||||
|
{$ENDIF}
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure THTMLPicture.Draw(ACanvas: TCanvas; const Rect: TRect);
|
||||||
|
var
|
||||||
|
hmWidth:integer;
|
||||||
|
hmHeight:integer;
|
||||||
|
nPixX,nPixY:integer;
|
||||||
|
pnWidth,pnHeight:integer;
|
||||||
|
|
||||||
|
begin
|
||||||
|
if Empty then Exit;
|
||||||
|
|
||||||
|
if gpPicture = nil then Exit;
|
||||||
|
|
||||||
|
hmWidth := 0;
|
||||||
|
hmHeight := 0;
|
||||||
|
gpPicture.get_Width(hmWidth);
|
||||||
|
gpPicture.get_Height(hmHeight);
|
||||||
|
|
||||||
|
if Stretch then
|
||||||
|
begin
|
||||||
|
gpPicture.Render(ACanvas.Handle,Rect.Left,Rect.Bottom,Rect.Right - Rect.Left,-(Rect.Bottom - Rect.Top),0,0,
|
||||||
|
hmWidth,hmHeight, Rect);
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
nPixX := GetDeviceCaps(ACanvas.Handle,LOGPIXELSX);
|
||||||
|
nPixY := GetDeviceCaps(ACanvas.Handle,LOGPIXELSY);
|
||||||
|
//Convert to device units
|
||||||
|
pnWidth := MulDiv(hmWidth, nPixX, HIMETRIC_INCH);
|
||||||
|
pnHeight := MulDiv(hmHeight, nPixY, HIMETRIC_INCH);
|
||||||
|
|
||||||
|
//gpPicture.Render(ACanvas.Handle,Rect.Left,Rect.Top + pnHeight,pnWidth,-pnHeight,0,0,
|
||||||
|
// hmWidth,hmHeight, Rect);
|
||||||
|
gpPicture.Render(ACanvas.Handle,Rect.Left,Rect.Top,
|
||||||
|
pnWidth,pnHeight,0,hmHeight, hmWidth,-hmHeight, Rect);
|
||||||
|
end;
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
|
function THTMLPicture.GetEmpty: Boolean;
|
||||||
|
begin
|
||||||
|
Result := FIsEmpty;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function THTMLPicture.GetHeight: integer;
|
||||||
|
var
|
||||||
|
hmHeight:integer;
|
||||||
|
begin
|
||||||
|
if gpPicture = nil then
|
||||||
|
Result := 0
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
gpPicture.get_Height(hmHeight);
|
||||||
|
Result := MulDiv(hmHeight, FLogPixY, HIMETRIC_INCH);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function THTMLPicture.GetWidth: Integer;
|
||||||
|
var
|
||||||
|
hmWidth: Integer;
|
||||||
|
begin
|
||||||
|
if gpPicture = nil then
|
||||||
|
Result := 0
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
gpPicture.get_Width(hmWidth);
|
||||||
|
Result := MulDiv(hmWidth, FLogPixX, HIMETRIC_INCH);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure THTMLPicture.LoadFromFile(const FileName: string);
|
||||||
|
begin
|
||||||
|
try
|
||||||
|
FDataStream.LoadFromFile(Filename);
|
||||||
|
FIsEmpty:=false;
|
||||||
|
LoadPicture;
|
||||||
|
if Assigned(OnChange) then
|
||||||
|
OnChange(self);
|
||||||
|
except
|
||||||
|
FIsEmpty:=true;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure THTMLPicture.LoadFromStream(Stream: TStream);
|
||||||
|
begin
|
||||||
|
if Assigned(Stream) then
|
||||||
|
begin
|
||||||
|
FDataStream.LoadFromStream(Stream);
|
||||||
|
FIsEmpty := False;
|
||||||
|
LoadPicture;
|
||||||
|
if Assigned(OnChange) then
|
||||||
|
OnChange(self);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure THTMLPicture.ReadData(Stream: TStream);
|
||||||
|
begin
|
||||||
|
|
||||||
|
if assigned(Stream) then
|
||||||
|
begin
|
||||||
|
fDataStream.LoadFromStream(stream);
|
||||||
|
fIsEmpty:=false;
|
||||||
|
LoadPicture;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure THTMLPicture.SaveToStream(Stream: TStream);
|
||||||
|
begin
|
||||||
|
if Assigned(Stream) then fDataStream.SaveToStream(Stream);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure THTMLPicture.LoadFromResourceName(Instance: THandle; const ResName: string);
|
||||||
|
var
|
||||||
|
Stream: TCustomMemoryStream;
|
||||||
|
begin
|
||||||
|
{$IFNDEF TMSDOTNET}
|
||||||
|
if FindResource(Instance,pchar(ResName),RT_RCDATA)<>0 then
|
||||||
|
{$ENDIF}
|
||||||
|
{$IFDEF TMSDOTNET}
|
||||||
|
if FindResource(Instance,ResName,RT_RCDATA)<>0 then
|
||||||
|
{$ENDIF}
|
||||||
|
begin
|
||||||
|
Stream := TResourceStream.Create(Instance, ResName, RT_RCDATA);
|
||||||
|
try
|
||||||
|
LoadFromStream(Stream);
|
||||||
|
finally
|
||||||
|
Stream.Free;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure THTMLPicture.LoadFromResourceID(Instance: THandle; ResID: Integer);
|
||||||
|
var
|
||||||
|
Stream: TCustomMemoryStream;
|
||||||
|
begin
|
||||||
|
Stream := TResourceStream.CreateFromID(Instance, ResID, RT_RCDATA);
|
||||||
|
try
|
||||||
|
LoadFromStream(Stream);
|
||||||
|
finally
|
||||||
|
Stream.Free;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
procedure THTMLPicture.SetHeight(Value: integer);
|
||||||
|
begin
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure THTMLPicture.SetWidth(Value: integer);
|
||||||
|
begin
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure THTMLPicture.WriteData(Stream: TStream);
|
||||||
|
begin
|
||||||
|
if Assigned(Stream) then
|
||||||
|
begin
|
||||||
|
FDataStream.savetostream(stream);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure THTMLPicture.LoadFromURL(url: string);
|
||||||
|
var
|
||||||
|
UUrl: string;
|
||||||
|
begin
|
||||||
|
UUrl := UpperCase(url);
|
||||||
|
|
||||||
|
if Pos('RES://',UUrl) = 1 then
|
||||||
|
begin
|
||||||
|
ID := url;
|
||||||
|
Delete(url,1,6);
|
||||||
|
if url <> '' then
|
||||||
|
LoadFromResourceName(hinstance,url);
|
||||||
|
Exit;
|
||||||
|
end;
|
||||||
|
|
||||||
|
if Pos('FILE://',Uurl) = 1 then
|
||||||
|
begin
|
||||||
|
ID := url;
|
||||||
|
Delete(url,1,7);
|
||||||
|
if url <> '' then
|
||||||
|
LoadFromFile(url);
|
||||||
|
Exit;
|
||||||
|
end;
|
||||||
|
|
||||||
|
if FAsynch then
|
||||||
|
begin
|
||||||
|
if FThreadBusy then
|
||||||
|
Exit;
|
||||||
|
FURL := url;
|
||||||
|
FThreadBusy := True;
|
||||||
|
TDownLoadThread.Create(self);
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
FURL := url;
|
||||||
|
ID := url;
|
||||||
|
{$IFDEF USEWININET}
|
||||||
|
DownLoad;
|
||||||
|
{$ENDIF}
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{$IFDEF USEWININET}
|
||||||
|
procedure THTMLPicture.DownLoad;
|
||||||
|
var
|
||||||
|
RBSIZE:dword;
|
||||||
|
httpstatus,httpsize,err:integer;
|
||||||
|
dwIdx:dword;
|
||||||
|
dwBufSize:dword;
|
||||||
|
ms:TMemoryStream;
|
||||||
|
len:dword;
|
||||||
|
cbuf:array[0..255] of char;
|
||||||
|
rb:array[0..4095] of byte;
|
||||||
|
|
||||||
|
FISession:hinternet;
|
||||||
|
FIHttp:hinternet;
|
||||||
|
Cancel:boolean;
|
||||||
|
|
||||||
|
begin
|
||||||
|
fISession:=InternetOpen('HTMLImage',INTERNET_OPEN_TYPE_PRECONFIG,nil,nil,0);
|
||||||
|
if (fISession=nil) then
|
||||||
|
begin
|
||||||
|
DownLoadError('Cannot open internet session');
|
||||||
|
fThreadBusy:=false;
|
||||||
|
Exit;
|
||||||
|
end;
|
||||||
|
|
||||||
|
fIHttp:=InternetOpenURL(fISession,pchar(furl),nil,0,
|
||||||
|
INTERNET_FLAG_PRAGMA_NOCACHE or INTERNET_FLAG_NO_CACHE_WRITE or INTERNET_FLAG_RELOAD,0);
|
||||||
|
|
||||||
|
if (fIHttp=nil) then
|
||||||
|
begin
|
||||||
|
InternetCloseHandle(fISession);
|
||||||
|
DownLoadError('Cannot open http connection');
|
||||||
|
fThreadBusy:=false;
|
||||||
|
Exit;
|
||||||
|
end;
|
||||||
|
|
||||||
|
dwBufSize := SizeOf(cbuf);
|
||||||
|
dwidx := 0;
|
||||||
|
HttpQueryInfo(fIHttp,HTTP_QUERY_STATUS_CODE,@cbuf,dwBufSize,dwIdx);
|
||||||
|
|
||||||
|
val(cbuf,httpstatus,err);
|
||||||
|
if (httpstatus <> 200) or (err <> 0) then
|
||||||
|
begin
|
||||||
|
InternetCloseHandle(fISession);
|
||||||
|
InternetCloseHandle(fIHttp);
|
||||||
|
DownLoadError('Cannot open URL '+furl);
|
||||||
|
FThreadBusy:=false;
|
||||||
|
Exit;
|
||||||
|
end;
|
||||||
|
|
||||||
|
dwBufSize := SizeOf(cbuf);
|
||||||
|
dwidx := 0;
|
||||||
|
HttpQueryInfo(fIHttp,HTTP_QUERY_CONTENT_TYPE,@cbuf,dwBufSize,dwIdx);
|
||||||
|
|
||||||
|
if Pos('IMAGE',UpperCase(StrPas(cbuf))) = 0 then
|
||||||
|
begin
|
||||||
|
InternetCloseHandle(fISession);
|
||||||
|
InternetCloseHandle(fIHttp);
|
||||||
|
DownLoadError('Resource is not of image type : ' + FUrl);
|
||||||
|
fThreadBusy := false;
|
||||||
|
Exit;
|
||||||
|
end;
|
||||||
|
|
||||||
|
dwBufSize := SizeOf(cbuf);
|
||||||
|
dwidx := 0;
|
||||||
|
HttpQueryInfo(fIHttp,HTTP_QUERY_CONTENT_LENGTH,@cbuf,dwBufSize,dwIdx);
|
||||||
|
|
||||||
|
val(cbuf,httpsize,err);
|
||||||
|
if (httpsize = 0) or (err <> 0) then
|
||||||
|
begin
|
||||||
|
InternetCloseHandle(fISession);
|
||||||
|
InternetCloseHandle(fIHttp);
|
||||||
|
DownLoadError('Image size is 0');
|
||||||
|
fThreadBusy:=false;
|
||||||
|
Exit;
|
||||||
|
end;
|
||||||
|
|
||||||
|
DownLoadProgress(0,httpsize);
|
||||||
|
|
||||||
|
len := 4096;
|
||||||
|
RBSIZE := 4096;
|
||||||
|
|
||||||
|
ms := TMemoryStream.Create;
|
||||||
|
|
||||||
|
cancel:=false;
|
||||||
|
|
||||||
|
while (len=RBSIZE) and not Cancel do
|
||||||
|
begin
|
||||||
|
InternetReadFile(fIHttp,@rb,RBSIZE,len);
|
||||||
|
if len>0 then ms.WriteBuffer(rb,len);
|
||||||
|
DownLoadProgress(ms.Size,httpsize);
|
||||||
|
DownLoadCancel(cancel);
|
||||||
|
end;
|
||||||
|
|
||||||
|
if not cancel then
|
||||||
|
begin
|
||||||
|
ms.Position := 0;
|
||||||
|
LoadFromStream(ms);
|
||||||
|
end;
|
||||||
|
|
||||||
|
ms.Free;
|
||||||
|
|
||||||
|
InternetCloseHandle(fIHttp);
|
||||||
|
InternetCloseHandle(fISession);
|
||||||
|
FThreadBusy:=false;
|
||||||
|
end;
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
procedure THTMLPicture.DownLoadCancel(var cancel: boolean);
|
||||||
|
begin
|
||||||
|
if assigned(FOnDownLoadCancel) then
|
||||||
|
FOnDownLoadCancel(self,cancel);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure THTMLPicture.DownLoadComplete;
|
||||||
|
begin
|
||||||
|
if Assigned(FOnDownLoadComplete) then
|
||||||
|
FOnDownLoadComplete(self);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure THTMLPicture.DownLoadError(err: string);
|
||||||
|
begin
|
||||||
|
if Assigned(fOnDownloadError) then
|
||||||
|
FOnDownLoadError(self,err);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure THTMLPicture.DownLoadProgress(dwSize, dwTotSize: dword);
|
||||||
|
begin
|
||||||
|
if Assigned(FOnDownLoadProgress) then
|
||||||
|
FOnDownLoadProgress(self,dwSize,dwTotSize);
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
procedure THTMLPicture.LoadFromClipboardFormat(AFormat: Word;
|
||||||
|
AData: THandle; APalette: HPALETTE);
|
||||||
|
begin
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure THTMLPicture.SaveToClipboardFormat(var AFormat: Word;
|
||||||
|
var AData: THandle; var APalette: HPALETTE);
|
||||||
|
begin
|
||||||
|
end;
|
||||||
|
|
||||||
|
function THTMLPicture.GetFrameCount: Integer;
|
||||||
|
var
|
||||||
|
i: Integer;
|
||||||
|
b,c,d,e: Byte;
|
||||||
|
Res: Integer;
|
||||||
|
begin
|
||||||
|
Result := -1;
|
||||||
|
|
||||||
|
if FFrameCount <> -1 then
|
||||||
|
Result := FFrameCount
|
||||||
|
else
|
||||||
|
if IsGIFFile then
|
||||||
|
begin
|
||||||
|
Res := 0;
|
||||||
|
for i := 1 to FDataStream.Size do
|
||||||
|
begin
|
||||||
|
FDataStream.Position := i - 1;
|
||||||
|
FDataStream.Read(b,1);
|
||||||
|
if (b = $21) and (i + 8 < FDataStream.Size) then
|
||||||
|
begin
|
||||||
|
FDataStream.Read(c,1);
|
||||||
|
FDataStream.Read(d,1);
|
||||||
|
FDataStream.Position := FDataStream.Position+5;
|
||||||
|
FDataStream.Read(e,1);
|
||||||
|
if (c = $F9) and (d = $4) and (e = $2C) then Inc(res);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
FFrameCount := Res;
|
||||||
|
Result := Res;
|
||||||
|
FDataStream.Position := 0;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function THTMLPicture.IsGIFFile: Boolean;
|
||||||
|
var
|
||||||
|
buf: array[0..4] of char;
|
||||||
|
begin
|
||||||
|
Result := False;
|
||||||
|
if FDataStream.Size>4 then
|
||||||
|
begin
|
||||||
|
FDataStream.Position := 0;
|
||||||
|
{$IFNDEF TMSDOTNET}
|
||||||
|
FDataStream.Read(buf,4);
|
||||||
|
buf[4] := #0;
|
||||||
|
Result := Strpas(buf) = 'GIF8';
|
||||||
|
{$ENDIF}
|
||||||
|
FDataStream.Position := 0;
|
||||||
|
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function THTMLPicture.GetFrameTime(i: Integer): Integer;
|
||||||
|
var
|
||||||
|
j: Integer;
|
||||||
|
b,c,d,e: Byte;
|
||||||
|
res: Integer;
|
||||||
|
ft: Word;
|
||||||
|
|
||||||
|
begin
|
||||||
|
Result := -1;
|
||||||
|
|
||||||
|
if IsGIFFile then
|
||||||
|
begin
|
||||||
|
Res := 0;
|
||||||
|
for j := 1 to FDataStream.Size do
|
||||||
|
begin
|
||||||
|
FDataStream.Position := j-1;
|
||||||
|
FDataStream.Read(b,1);
|
||||||
|
if (b = $21) and (i + 8 < FDataStream.Size) then
|
||||||
|
begin
|
||||||
|
FDataStream.Read(c,1);
|
||||||
|
FDataStream.Read(d,1);
|
||||||
|
FDataStream.Read(b,1);
|
||||||
|
{transp. flag here}
|
||||||
|
|
||||||
|
FDataStream.Read(ft,2);
|
||||||
|
FDataStream.Position := FDataStream.Position + 2;
|
||||||
|
|
||||||
|
FDataStream.Read(e,1);
|
||||||
|
if (c = $F9) and (d = $4) and (e = $2C) then
|
||||||
|
begin
|
||||||
|
Inc(res);
|
||||||
|
if res = i then
|
||||||
|
begin
|
||||||
|
Result := ft;
|
||||||
|
FFrameTransp := b and $01=$01;
|
||||||
|
FFrameDisposal := (b shr 3) and $7;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
FDataStream.Position := 0;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function THTMLPicture.GetMaxHeight: Integer;
|
||||||
|
var
|
||||||
|
hmHeight: Integer;
|
||||||
|
begin
|
||||||
|
{$IFNDEF TMSDOTNET}
|
||||||
|
if gpPicture = nil then
|
||||||
|
Result := 0
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
if FAnimMaxY>0 then Result:=FAnimMaxY
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
gpPicture.get_Height(hmHeight);
|
||||||
|
Result := MulDiv(hmHeight, fLogPixY, HIMETRIC_INCH);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
{$ENDIF}
|
||||||
|
end;
|
||||||
|
|
||||||
|
function THTMLPicture.GetMaxWidth: Integer;
|
||||||
|
var
|
||||||
|
hmWidth: Integer;
|
||||||
|
begin
|
||||||
|
if gpPicture = nil then
|
||||||
|
Result := 0
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
if FAnimMaxX > 0 then
|
||||||
|
Result := FAnimMaxX
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
gpPicture.get_Width(hmWidth);
|
||||||
|
Result := MulDiv(hmWidth, fLogPixX, HIMETRIC_INCH);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
procedure THTMLPicture.SetFrame(const Value: Integer);
|
||||||
|
begin
|
||||||
|
FFrame := Value;
|
||||||
|
if FDataStream.Size > 0 then
|
||||||
|
begin
|
||||||
|
LoadPicture;
|
||||||
|
if Assigned(OnFrameChange) then
|
||||||
|
OnFrameChange(self);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure THTMLPicture.FrameNext;
|
||||||
|
begin
|
||||||
|
if FFrame < FFrameCount then
|
||||||
|
Inc(FFrame)
|
||||||
|
else
|
||||||
|
FFrame := 1;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function THTMLPicture.Step: Boolean;
|
||||||
|
begin
|
||||||
|
Result := False;
|
||||||
|
if (FFrameCount <= 1) or FIsEmpty then
|
||||||
|
Exit;
|
||||||
|
|
||||||
|
if FNextCount = -1 then
|
||||||
|
FrameTime[FFrame];
|
||||||
|
|
||||||
|
if FTimerCount*10 >= FNextCount then
|
||||||
|
begin
|
||||||
|
FrameNext;
|
||||||
|
LoadPicture;
|
||||||
|
FNextCount := FNextCount + FrameTime[FFrame];
|
||||||
|
Result := True;
|
||||||
|
end;
|
||||||
|
|
||||||
|
Inc(FTimerCount);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure THTMLPicture.FramePrev;
|
||||||
|
begin
|
||||||
|
if FFrame > 1 then
|
||||||
|
Dec(FFrame)
|
||||||
|
else
|
||||||
|
FFrame := FFrameCount;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function THTMLPicture.GetStretched: boolean;
|
||||||
|
begin
|
||||||
|
Result := FStretched;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure THTMLPicture.SetStretched(const Value: boolean);
|
||||||
|
begin
|
||||||
|
FStretched := Value;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ THTMLImage }
|
||||||
|
|
||||||
|
constructor THTMLImage.Create(aOwner: TComponent);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
fHTMLPicture:=THTMLPicture.Create;
|
||||||
|
fHTMLPicture.OnChange:=PictureChanged;
|
||||||
|
Width:=100;
|
||||||
|
Height:=100;
|
||||||
|
fHTMLPicture.OnDownLoadError:=DownLoadError;
|
||||||
|
fHTMLPicture.OnDownLoadCancel:=DownLoadCancel;
|
||||||
|
fHTMLPicture.OnDownLoadProgress:=DownLoadProgress;
|
||||||
|
fHTMLPicture.OnDownLoadComplete:=DownLoadComplete;
|
||||||
|
end;
|
||||||
|
|
||||||
|
destructor THTMLImage.Destroy;
|
||||||
|
begin
|
||||||
|
fHTMLPicture.Free;
|
||||||
|
inherited;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure THTMLImage.Loaded;
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
fHTMLPicture.fLogPixX := GetDeviceCaps(canvas.handle,LOGPIXELSX);
|
||||||
|
fHTMLPicture.fLogPixY := GetDeviceCaps(canvas.handle,LOGPIXELSY);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure THTMLImage.Paint;
|
||||||
|
var
|
||||||
|
xo,yo:integer;
|
||||||
|
|
||||||
|
function Max(a,b:integer):integer;
|
||||||
|
begin
|
||||||
|
if (a>b) then result:=a else result:=b;
|
||||||
|
end;
|
||||||
|
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
if assigned(fHTMLPicture) then
|
||||||
|
begin
|
||||||
|
if not fHTMLPicture.Empty then
|
||||||
|
case fPicturePosition of
|
||||||
|
bpTopLeft:Canvas.Draw(0,0,fHTMLPicture);
|
||||||
|
bpTopRight:Canvas.Draw(Max(0,width-fHTMLPicture.Width),0,fHTMLPicture);
|
||||||
|
bpBottomLeft:Canvas.Draw(0,Max(0,height-fHTMLPicture.Height),fHTMLPicture);
|
||||||
|
bpBottomRight:Canvas.Draw(Max(0,width-fHTMLPicture.Width),Max(0,height-fHTMLPicture.Height),fHTMLPicture);
|
||||||
|
bpCenter:Canvas.Draw(Max(0,width-fHTMLPicture.Width) shr 1,Max(0,height-fHTMLPicture.Height) shr 1,fHTMLPicture);
|
||||||
|
bpTiled:begin
|
||||||
|
yo:=0;
|
||||||
|
while (yo<Height) do
|
||||||
|
begin
|
||||||
|
xo:=0;
|
||||||
|
while (xo<Width) do
|
||||||
|
begin
|
||||||
|
Canvas.Draw(xo,yo,fHTMLPicture);
|
||||||
|
xo:=xo+fHTMLPicture.Width;
|
||||||
|
end;
|
||||||
|
yo:=yo+fHTMLPicture.Height;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
bpStretched:canvas.StretchDraw(rect(0,0,width,height),fHTMLPicture) else
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure THTMLImage.PictureChanged(sender: TObject);
|
||||||
|
begin
|
||||||
|
Invalidate;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure THTMLImage.SetHTMLPicture(const Value: THTMLPicture);
|
||||||
|
begin
|
||||||
|
FHTMLPicture.Assign(Value);
|
||||||
|
Invalidate;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure THTMLImage.SetPicturePosition(const Value: TPicturePosition);
|
||||||
|
begin
|
||||||
|
if ( fPicturePosition <> Value) then
|
||||||
|
begin
|
||||||
|
fPicturePosition := Value;
|
||||||
|
Invalidate;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure THTMLImage.DownLoadCancel(Sender: TObject; var cancel: boolean);
|
||||||
|
begin
|
||||||
|
if assigned(fOnDownLoadCancel) then fOnDownLoadCancel(self,cancel);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure THTMLImage.DownLoadComplete(Sender: TObject);
|
||||||
|
begin
|
||||||
|
if assigned(fOnDownLoadComplete) then fOnDownLoadComplete(self);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure THTMLImage.DownLoadError(Sender: TObject; err: string);
|
||||||
|
begin
|
||||||
|
if Assigned(FOnDownloadError) then
|
||||||
|
FOnDownLoadError(self,err);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure THTMLImage.DownLoadProgress(Sender: TObject; dwSize,
|
||||||
|
dwTotSize: dword);
|
||||||
|
begin
|
||||||
|
if Assigned(FOnDownLoadProgress) then
|
||||||
|
FOnDownLoadProgress(self,dwSize,dwTotSize);
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ TDownLoadThread }
|
||||||
|
|
||||||
|
constructor TDownLoadThread.Create(aHTMLPicture: THTMLPicture);
|
||||||
|
begin
|
||||||
|
inherited Create(false);
|
||||||
|
HTMLPicture := aHTMLPicture;
|
||||||
|
FreeOnTerminate := True;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TDownLoadThread.Execute;
|
||||||
|
begin
|
||||||
|
{$IFDEF USEWININET}
|
||||||
|
HTMLPicture.DownLoad;
|
||||||
|
{$ENDIF}
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ THTMLPictureCache }
|
||||||
|
|
||||||
|
destructor THTMLPictureCache.Destroy;
|
||||||
|
begin
|
||||||
|
ClearPictures;
|
||||||
|
inherited;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function THTMLPictureCache.AddPicture: THTMLPicture;
|
||||||
|
begin
|
||||||
|
Result := THTMLPicture.Create;
|
||||||
|
{$IFNDEF TMSDOTNET}
|
||||||
|
Add(pointer(result));
|
||||||
|
{$ENDIF}
|
||||||
|
{$IFDEF TMSDOTNET}
|
||||||
|
Add(TObject(Result));
|
||||||
|
{$ENDIF}
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure THTMLPictureCache.ClearPictures;
|
||||||
|
var
|
||||||
|
i: Integer;
|
||||||
|
begin
|
||||||
|
for i := 1 to Count do
|
||||||
|
Items[i - 1].Free;
|
||||||
|
|
||||||
|
Clear;
|
||||||
|
//inherited;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function THTMLPictureCache.FindPicture(ID: string): THTMLPicture;
|
||||||
|
var
|
||||||
|
i: Integer;
|
||||||
|
begin
|
||||||
|
Result := nil;
|
||||||
|
for i := 1 to Count do
|
||||||
|
begin
|
||||||
|
if (Items[i - 1].ID = ID) then
|
||||||
|
begin
|
||||||
|
Result := Items[i - 1];
|
||||||
|
Break;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function THTMLPictureCache.GetPicture(Index: Integer): THTMLPicture;
|
||||||
|
begin
|
||||||
|
Result := THTMLPicture(inherited Items[Index]);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure THTMLPictureCache.SetPicture(Index: Integer; Value: THTMLPicture);
|
||||||
|
begin
|
||||||
|
{$IFNDEF TMSDOTNET}
|
||||||
|
inherited Items[index] := Pointer(Value);
|
||||||
|
{$ENDIF}
|
||||||
|
{$IFDEF TMSDOTNET}
|
||||||
|
inherited Items[index] := Value;
|
||||||
|
{$ENDIF}
|
||||||
|
end;
|
||||||
|
|
||||||
|
function THTMLPictureCache.Animate: Boolean;
|
||||||
|
var
|
||||||
|
i: Integer;
|
||||||
|
begin
|
||||||
|
Result := False;
|
||||||
|
for i := 1 to Count do
|
||||||
|
begin
|
||||||
|
if Items[i - 1].Step then
|
||||||
|
Result := True;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
Loading…
Reference in New Issue
Block a user