?? synunidesigner.pas
字號:
{
@abstract(Desginer for TSynUniSyn)
@authors(Vit [nevzorov@yahoo.com], Fantasist [walking_in_the_sky@yahoo.com],
Vitalik [vetal-x@mail.ru])
@created(2003)
@lastmod(2006-07-23)
}
(******************************************************************************
Authors: Vit (Vitaly Nevzorov nevzorov@yahoo.com)
Fantasist (Kirill Burtsev walking_in_the_sky@yahoo.com)
Vitalik (Vitaly Lyapota vetal-x@mail.ru)
Official Site: http://www.unihighlighter.com
With all questions, please visit http://forum.vingrad.ru/index.php?showforum=170
******************************************************************************)
unit SynUniDesigner;
//{$DEFINE SYNPLUS} //*SCHMaster*//
{$I SynUniHighlighter.inc}
interface
uses
Windows, Messages, Controls, SynUniHighlighter, SynUniDesignerForm;
type
TSynUniDesigner = class(TObject)
private
Form: TfmDesigner;
function Execute(AFormTitle: string; ALangFile: string): Boolean;
procedure SetSample(const Value: string);
function GetSample: string;
procedure SetTitle(const Value: string);
function GetTitle: string;
public
constructor Create(Highlighter: TSynUniSyn);
destructor Destroy; override;
property Title: string read GetTitle write SetTitle;
property Sample: string read GetSample write SetSample;
class function EditHighlighter(OriginalSyn: TSynUniSyn;
FormTitle: string = ''; LangFile: string = ''): Boolean;
end;
implementation
{$IFDEF UNIDESIGNER18}
uses
SynUniDesignerOldTranslator,
SynUniDesignerTranslator;
{$ENDIF}
constructor TSynUniDesigner.Create(Highlighter: TSynUniSyn);
begin
inherited Create;
Form := TfmDesigner.Create(nil);
{$IFDEF UNIDESIGNER18}
Form.OriginalSyn := Highlighter;
{$ENDIF}
{$IFDEF UNIDESIGNER20}
Form.TotalClear();
Form.SynUniSyn := Highlighter;
Form.TempStart();
{$ENDIF}
{$IFDEF NEWUNIDESIGNER}
//...
{$ENDIF}
end;
destructor TSynUniDesigner.Destroy;
begin
Form.SampleMemo.Highlighter := nil;
Form.Free;
inherited;
end;
class function TSynUniDesigner.EditHighlighter(OriginalSyn: TSynUniSyn; FormTitle: string; LangFile: string): Boolean;
begin
with Create(OriginalSyn) do begin
Result := Execute(FormTitle, LangFile);
Free;
end;
end;
procedure TSynUniDesigner.SetSample(const Value: string);
begin
Form.SampleMemo.Text := Value;
end;
function TSynUniDesigner.GetSample: string;
begin
Result := Form.SampleMemo.Text;
end;
procedure TSynUniDesigner.SetTitle(const Value: string);
begin
Form.Caption := Value;
end;
function TSynUniDesigner.GetTitle: string;
begin
Result := Form.Caption;
end;
{$IFDEF SYNPLUS} //*SCHMaster*//
function TSynUniDesigner.Execute(FormTitle: string; LangFile: string): Boolean;
var
msg : TMsg;
TcClosed: Boolean;
begin
if FormTitle <> '' then Title := FormTitle;
//###Form.Translate(LangFile);
TcClosed := False;
Form.ModalResult := mrNone;
Form.Show;
while (Form.ModalResult = mrNone) do begin
GetMessage(msg, 0, 0, 0);
if (msg.message = WM_QUIT) then begin
TcClosed := True;
Form.ModalResult := mrCancel;
result:=False;
end else begin
Result := (Form.ModalResult = mrOk);
TranslateMessage(msg);
DispatchMessage(msg);
end;
end;
Result := (Form.ModalResult = mrOk);
if TcClosed then
PostMessage(msg.hwnd, msg.message, msg.wParam, msg.lParam);
end;
{$ELSE}
function TSynUniDesigner.Execute(AFormTitle: string; ALangFile: string): Boolean;
begin
if AFormTitle <> '' then
Title := AFormTitle;
{$IFDEF UNIDESIGNER18}
TSynUniDesignerOldTranslator.Translate(Form, ALangFile);
TSynUniDesignerTranslator.Translate(Form, ALangFile);
{$ENDIF}
Result := (Form.ShowModal = mrOk);
end;
{$ENDIF}
end.
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -