亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? tntforms_design.pas

?? Delphi知道現在也沒有提供Unicode支持
?? PAS
字號:

{*****************************************************************************}
{                                                                             }
{    Tnt Delphi Unicode Controls                                              }
{      http://www.tntware.com/delphicontrols/unicode/                         }
{        Version: 2.3.0                                                       }
{                                                                             }
{    Copyright (c) 2002-2007, Troy Wolbrink (troy.wolbrink@tntware.com)       }
{                                                                             }
{*****************************************************************************}

unit TntForms_Design;

{$INCLUDE ..\Source\TntCompilers.inc}

interface

uses
  Classes, Windows, DesignIntf, ToolsApi;

type HICON = LongWord;

type
  TTntNewFormWizard = class(TNotifierObject, IOTAWizard, IOTARepositoryWizard,
    IOTAFormWizard
    {$IFDEF COMPILER_6_UP}, IOTARepositoryWizard60{$ENDIF}
    {$IFDEF COMPILER_9_UP}, IOTARepositoryWizard80{$ENDIF})
  protected
    function ThisFormName: WideString;
    function ThisFormClass: TComponentClass; virtual; abstract;
    function ThisFormUnit: WideString; 
  public
    // IOTAWizard
    function GetIDString: AnsiString;
    function GetName: AnsiString; virtual;
    function GetState: TWizardState;
    procedure Execute;
    // IOTARepositoryWizard
    function GetAuthor: AnsiString;
    function GetComment: AnsiString; virtual; abstract;
    function GetPage: AnsiString;
    function GetGlyph: HICON;
    {$IFDEF COMPILER_6_UP}
    // IOTARepositoryWizard60
    function GetDesigner: AnsiString;
    {$ENDIF}
    {$IFDEF COMPILER_9_UP}
    // IOTARepositoryWizard80
    function GetGalleryCategory: IOTAGalleryCategory; 
    function GetPersonality: AnsiString; 
    {$ENDIF}
  end;

procedure Register;

implementation

uses
  TntForms, DesignEditors, WCtlForm, TypInfo, SysUtils;

type
  TTntNewTntFormWizard = class(TTntNewFormWizard)
  protected
    function ThisFormClass: TComponentClass; override;
  public
    function GetName: AnsiString; override;
    function GetComment: AnsiString; override;
  end;

  TTntNewTntFrameWizard = class(TTntNewFormWizard)
  protected
    function ThisFormClass: TComponentClass; override;
  public
    function GetName: AnsiString; override;
    function GetComment: AnsiString; override;
  end;

  TTntFrameCustomModule = class(TWinControlCustomModule)
  public
    function Nestable: Boolean; override;
  end;

  TTntFormCustomModule = class(TCustomModule)
  public
    class function DesignClass: TComponentClass; override;
  end;

procedure Register;
begin
  RegisterCustomModule(TTntFrame, TTntFrameCustomModule);
  RegisterPackageWizard(TTntNewTntFrameWizard.Create);
  //--
  RegisterCustomModule(TTntForm, TTntFormCustomModule);
  //--
  RegisterPackageWizard(TTntNewTntFormWizard.Create);
end;

function GetFirstModuleSupporting(const IID: TGUID): IOTAModule;
var
  ModuleServices: IOTAModuleServices;
  i: integer;
begin
  Result := nil;
  if Assigned(BorlandIDEServices) then
  begin
    // look for the first project
    ModuleServices := BorlandIDEServices as IOTAModuleServices;
    for i := 0 to ModuleServices.ModuleCount - 1 do
      if Supports(ModuleServices.Modules[i], IID, Result) then
        Break;
  end;
end;

function MyGetActiveProject: IOTAProject;
{$IFDEF COMPILER_7_UP}
begin
  Result := ToolsAPI.GetActiveProject;
{$ELSE}
var
  ProjectGroup: IOTAProjectGroup;
begin
  ProjectGroup := GetFirstModuleSupporting(IOTAProjectGroup) as IOTAProjectGroup;
  if ProjectGroup = nil then
    Result := nil
  else
    Result := ProjectGroup.ActiveProject;
{$ENDIF}
  if (Result = nil) then
    Result := GetFirstModuleSupporting(IOTAProject) as IOTAProject;
end;

{ TTntNewFormCreator }
type
  TTntNewFormCreator = class(TInterfacedObject, IOTACreator, IOTAModuleCreator)
  private
    FAncestorName: WideString;
    FUnitName: WideString;
  public
    // IOTACreator
    function GetCreatorType: AnsiString;
    function GetExisting: Boolean;
    function GetFileSystem: AnsiString;
    function GetOwner: IOTAModule;
    function GetUnnamed: Boolean;
    // IOTAModuleCreator
    function GetAncestorName: AnsiString;
    function GetImplFileName: AnsiString;
    function GetIntfFileName: AnsiString;
    function GetFormName: AnsiString;
    function GetMainForm: Boolean;
    function GetShowForm: Boolean;
    function GetShowSource: Boolean;
    function NewFormFile(const FormIdent, AncestorIdent: AnsiString): IOTAFile;
    function NewImplSource(const ModuleIdent, FormIdent, AncestorIdent: AnsiString): IOTAFile;
    function NewIntfSource(const ModuleIdent, FormIdent, AncestorIdent: AnsiString): IOTAFile;
    procedure FormCreated(const FormEditor: IOTAFormEditor);
  public
    constructor Create(const UnitName, AncestorName: WideString);
  end;

  TTntSourceFile = class(TInterfacedObject, IOTAFile)
  private
    FSource: AnsiString;
  public
    function GetSource: AnsiString;
    function GetAge: TDateTime;
    constructor Create(const Source: AnsiString);
  end;

constructor TTntNewFormCreator.Create(const UnitName, AncestorName: WideString);
begin
  inherited Create;
  FUnitName := UnitName;
  FAncestorName := AncestorName;
end;

procedure TTntNewFormCreator.FormCreated(const FormEditor: IOTAFormEditor);
begin
end;

function TTntNewFormCreator.GetAncestorName: AnsiString;
begin
  Result := FAncestorName;
end;

function TTntNewFormCreator.GetCreatorType: AnsiString;
begin
  Result := sForm;
end;

function TTntNewFormCreator.GetExisting: Boolean;
begin
  Result := False;
end;

function TTntNewFormCreator.GetFileSystem: AnsiString;
begin
  Result := '';
end;

function TTntNewFormCreator.GetFormName: AnsiString;
begin
  Result := '';
end;

function TTntNewFormCreator.GetImplFileName: AnsiString;
begin
  Result := '';
end;

function TTntNewFormCreator.GetIntfFileName: AnsiString;
begin
  Result := '';
end;

function TTntNewFormCreator.GetMainForm: Boolean;
begin
  Result := False;
end;

function TTntNewFormCreator.GetOwner: IOTAModule;
begin
  Result := MyGetActiveProject;
end;

function TTntNewFormCreator.GetShowForm: Boolean;
begin
  Result := True;
end;

function TTntNewFormCreator.GetShowSource: Boolean;
begin
  Result := True;
end;

function TTntNewFormCreator.GetUnnamed: Boolean;
begin
  Result := True;
end;

function TTntNewFormCreator.NewFormFile(const FormIdent, AncestorIdent: AnsiString): IOTAFile;
begin
  Result := nil;
end;

function TTntNewFormCreator.NewImplSource(const ModuleIdent, FormIdent, AncestorIdent: AnsiString): IOTAFile;
const
  cSource =
    'unit %s;' + #13#10 +
    '' + #13#10 +
    'interface' + #13#10 +
    '' + #13#10 +
    'uses' + #13#10 +
    '  Windows, Messages, SysUtils' + {$IFDEF COMPILER_6_UP}', Variants' + {$ENDIF}
    ', Classes, Graphics, Controls, Forms,' + #13#10 + '  Dialogs, %s;' + #13#10 +
    '' + #13#10 +
    'type' + #13#10 +
    '  T%s = class(T%s)' + #13#10 +
    '  private' + #13#10 +
    '    { Private declarations }' + #13#10 +
    '  public' + #13#10 +
    '    { Public declarations }' + #13#10 +
    '  end;' + #13#10 +
    '' + #13#10 +
    'var' + #13#10 +
    '  %s: T%s;' + #13#10 +
    '' + #13#10 +
    'implementation' + #13#10 +
    '' + #13#10 +
    '{$R *.DFM}' + #13#10 +
    '' + #13#10 +
    'end.';
begin
  Result := TTntSourceFile.Create(Format{TNT-ALLOW Format}(cSource,
    [ModuleIdent, FUnitName, FormIdent, AncestorIdent, FormIdent, FormIdent]));
end;

function TTntNewFormCreator.NewIntfSource(const ModuleIdent, FormIdent, AncestorIdent: AnsiString): IOTAFile;
begin
  Result := nil;
end;

{ TTntNewFormWizard }

function TTntNewFormWizard.ThisFormName: WideString;
begin
  Result := ThisFormClass.ClassName;
  Delete(Result, 1, 1); // drop the 'T'
end;

function TTntNewFormWizard.ThisFormUnit: WideString;
begin
  Result := GetTypeData(ThisFormClass.ClassInfo).UnitName;
end;

function TTntNewFormWizard.GetName: AnsiString;
begin
  Result := ThisFormName;
end;

function TTntNewFormWizard.GetAuthor: AnsiString;
begin
  Result := 'Troy Wolbrink';
end;

function TTntNewFormWizard.GetPage: AnsiString;
begin
  Result := 'New';
end;

function TTntNewFormWizard.GetGlyph: HICON;
begin
  Result := 0;
end;

function TTntNewFormWizard.GetState: TWizardState;
begin
  Result := [wsEnabled];
end;

function TTntNewFormWizard.GetIDString: AnsiString;
begin
  Result := 'Tnt.Create_'+ThisFormName+'.Wizard';
end;

procedure TTntNewFormWizard.Execute;
var
  Module: IOTAModule;
begin
  Module := (BorlandIDEServices as IOTAModuleServices).CreateModule(TTntNewFormCreator.Create(ThisFormUnit, ThisFormName));
end;

{$IFDEF COMPILER_6_UP}
function TTntNewFormWizard.GetDesigner: AnsiString;
begin
  Result := dVCL;
end;
{$ENDIF}

{$IFDEF COMPILER_9_UP}
function TTntNewFormWizard.GetGalleryCategory: IOTAGalleryCategory; 
var
  Manager: IOTAGalleryCategoryManager;
begin
  Result := nil;
  Manager := BorlandIDEServices as IOTAGalleryCategoryManager;
  if Assigned(Manager) then
    Result := Manager.FindCategory(sCategoryDelphiNew);
end;

function TTntNewFormWizard.GetPersonality: AnsiString; 
begin
  Result := sDelphiPersonality;
end;
{$ENDIF}

{ TTntSourceFile }

constructor TTntSourceFile.Create(const Source: AnsiString);
begin
  FSource := Source;
end;

function TTntSourceFile.GetAge: TDateTime;
begin
  Result := -1;
end;

function TTntSourceFile.GetSource: AnsiString;
begin
  Result := FSource;
end;

{ TTntNewTntFormWizard }

function TTntNewTntFormWizard.ThisFormClass: TComponentClass;
begin
  Result := TTntForm;
end;

function TTntNewTntFormWizard.GetName: AnsiString;
begin
  Result := ThisFormName + ' (Unicode)'
end;

function TTntNewTntFormWizard.GetComment: AnsiString;
begin
  Result := 'Creates a new Unicode enabled TntForm';
end;

{ TTntNewTntFrameWizard }

function TTntNewTntFrameWizard.ThisFormClass: TComponentClass;
begin
  Result := TTntFrame;
end;

function TTntNewTntFrameWizard.GetName: AnsiString;
begin
  Result := ThisFormName + ' (Unicode)'
end;

function TTntNewTntFrameWizard.GetComment: AnsiString;
begin
  Result := 'Creates a new Unicode enabled TntFrame';
end;

{ TTntFrameCustomModule }

function TTntFrameCustomModule.Nestable: Boolean;
begin
  Result := True;
end;

{ TTntFormCustomModule }

class function TTntFormCustomModule.DesignClass: TComponentClass;
begin
  Result := TTntForm;
end;

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产一区二区三区av性色 | 自拍av一区二区三区| 在线观看日韩一区| 国产精品77777竹菊影视小说| 亚洲综合激情另类小说区| 欧美精品一区二区精品网| 欧美亚洲国产一区二区三区va| 国产精品一区二区久久精品爱涩| 一区二区三区四区精品在线视频| 久久久久久久精| 欧美色老头old∨ideo| 成人精品免费网站| 久久99热狠狠色一区二区| 一级日本不卡的影视| 国产欧美一区二区精品仙草咪| 欧美高清精品3d| 91福利国产成人精品照片| 国产91丝袜在线播放0| 久久精品av麻豆的观看方式| 亚洲一区二区三区中文字幕 | 欧美日韩久久久一区| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 国精产品一区一区三区mba视频 | 亚洲国产精品久久人人爱蜜臀 | 捆绑调教一区二区三区| 亚洲自拍欧美精品| 日韩理论电影院| 国产精品久久久久久久久晋中| 欧美r级在线观看| 在线播放国产精品二区一二区四区| 99视频精品免费视频| 国产成人三级在线观看| 国产一区亚洲一区| 精品亚洲免费视频| 蜜桃一区二区三区在线观看| 丝袜诱惑亚洲看片| 亚洲成av人片在线观看无码| 亚洲精品久久嫩草网站秘色| 亚洲啪啪综合av一区二区三区| 国产精品第五页| 综合精品久久久| 亚洲欧美日韩一区二区| 亚洲免费伊人电影| 亚洲欧美日韩小说| 亚洲一线二线三线视频| 亚洲国产精品久久久久秋霞影院 | 奇米色777欧美一区二区| 午夜精品久久久久久久久| 亚洲成人在线免费| 视频一区在线播放| 久久精品国产色蜜蜜麻豆| 麻豆精品视频在线观看| 黄色小说综合网站| 国产精品一卡二卡在线观看| 高清国产一区二区三区| 高清在线不卡av| 色吊一区二区三区| 欧美二区在线观看| 欧美va亚洲va在线观看蝴蝶网| 欧美精品一区二区三区蜜桃| 亚洲国产成人私人影院tom| 国产精品人成在线观看免费| 亚洲最新视频在线观看| 日日夜夜精品免费视频| 久久99久久99精品免视看婷婷 | 午夜精品久久久久久久99樱桃 | 麻豆精品在线播放| 国产成人综合网| 91毛片在线观看| 51久久夜色精品国产麻豆| 欧美精品一区二区三区蜜桃视频| 欧美韩国日本综合| 亚洲国产精品天堂| 国模套图日韩精品一区二区 | 精品国产人成亚洲区| 国产亚洲综合色| 尤物av一区二区| 老汉av免费一区二区三区| aaa国产一区| 91麻豆精品国产综合久久久久久| 久久久影视传媒| 亚洲精品免费看| 麻豆传媒一区二区三区| av在线不卡电影| 欧美一级在线免费| 国产精品久久久久久久蜜臀 | 国产剧情一区二区| 91久久精品午夜一区二区| 日韩免费视频一区二区| 国产精品动漫网站| 久久精品国产一区二区三区免费看| 99精品在线免费| 日韩亚洲欧美一区| 亚洲免费观看高清完整版在线| 美女一区二区三区在线观看| 9i看片成人免费高清| 日韩精品一区二区三区在线观看| 中文字幕在线一区二区三区| 秋霞午夜av一区二区三区| 色狠狠一区二区| 国产欧美精品在线观看| 美美哒免费高清在线观看视频一区二区| 成人app下载| 久久久高清一区二区三区| 丝袜美腿高跟呻吟高潮一区| 91年精品国产| 中文成人综合网| 国产乱淫av一区二区三区| 欧美日产在线观看| 玉米视频成人免费看| 成人免费观看av| 国产亚洲综合在线| 精品一区二区综合| 欧美日韩性生活| 一区二区三区精品久久久| 成人av免费网站| 国产欧美va欧美不卡在线| 国产一区二区在线视频| 91精品国产一区二区三区蜜臀| 亚洲人成网站色在线观看| 亚洲在线成人精品| 色婷婷综合久久久久中文一区二区 | 毛片基地黄久久久久久天堂| 99精品黄色片免费大全| 欧美激情一区二区三区全黄| 蜜桃视频一区二区三区| 欧美色综合久久| 亚洲国产高清不卡| 日日骚欧美日韩| 欧美色图12p| 国产午夜精品一区二区三区四区 | 不卡一区在线观看| 久久亚洲综合色一区二区三区| 午夜伦理一区二区| 91久久线看在观草草青青| 一区二区激情视频| 不卡免费追剧大全电视剧网站| 久久综合色天天久久综合图片| 石原莉奈在线亚洲三区| 91久久精品国产91性色tv| 一区二区三区中文字幕精品精品| 成人动漫在线一区| 久久久久国产精品厨房| 激情成人午夜视频| 精品久久久久久久人人人人传媒| 久久精品国产久精国产爱| 在线不卡中文字幕| 午夜成人在线视频| 欧美酷刑日本凌虐凌虐| 午夜欧美大尺度福利影院在线看| 欧美一区二区久久| 日韩国产一区二| 3d动漫精品啪啪1区2区免费 | √…a在线天堂一区| 99麻豆久久久国产精品免费| 国产视频在线观看一区二区三区| 国产一区二区三区视频在线播放| 欧美一区在线视频| 久久国产精品72免费观看| 精品欧美乱码久久久久久 | 成人激情视频网站| 中文字幕精品一区二区精品绿巨人| 国产一区二区三区电影在线观看| 久久嫩草精品久久久精品一| 国产精品自拍毛片| 欧美日韩国产综合一区二区| 视频一区二区国产| 国产欧美精品一区二区色综合| 国产成人免费在线视频| 国产精品高潮呻吟久久| 色综合久久88色综合天天免费| 亚洲日本在线看| 欧美精品久久99久久在免费线| 奇米在线7777在线精品| 精品久久99ma| 波多野结衣一区二区三区| 亚洲成a人在线观看| 欧美mv和日韩mv国产网站| 国产精品99久久久久久久vr| 国产精品欧美一区二区三区| 91在线视频网址| 麻豆91免费看| 中文av一区二区| 欧美天天综合网| 久久99蜜桃精品| 亚洲美女在线一区| 欧美一二区视频| 成人app软件下载大全免费| 亚洲成人av免费| ww亚洲ww在线观看国产| 91免费看`日韩一区二区| 婷婷丁香激情综合| 国产亚洲精品资源在线26u| 欧美三区在线观看| 国内偷窥港台综合视频在线播放| 亚洲天堂av老司机| 日韩一区二区三区视频| 国产激情一区二区三区| 免费亚洲电影在线| 中文字幕精品一区|