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

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

?? remain.pas

?? A rich edit control is a window in which the user can enter and edit text. The text can be assigned
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
unit REMain;

interface

uses
  SysUtils, Windows, Messages, Classes, Graphics, Controls,
  Forms, Dialogs, StdCtrls, Buttons, ExtCtrls, Menus, ComCtrls, ClipBrd,
  ToolWin, ActnList, ImgList;

type
  TMainForm = class(TForm)
    MainMenu: TMainMenu;
    FileNewItem: TMenuItem;
    FileOpenItem: TMenuItem;
    FileSaveItem: TMenuItem;
    FileSaveAsItem: TMenuItem;
    FilePrintItem: TMenuItem;
    FileExitItem: TMenuItem;
    EditUndoItem: TMenuItem;
    EditCutItem: TMenuItem;
    EditCopyItem: TMenuItem;
    EditPasteItem: TMenuItem;
    HelpAboutItem: TMenuItem;
    OpenDialog: TOpenDialog;
    SaveDialog: TSaveDialog;
    PrintDialog: TPrintDialog;
    Ruler: TPanel;
    FontDialog1: TFontDialog;
    FirstInd: TLabel;
    LeftInd: TLabel;
    RulerLine: TBevel;
    RightInd: TLabel;
    N5: TMenuItem;
    miEditFont: TMenuItem;
    Editor: TRichEdit;
    StatusBar: TStatusBar;
    StandardToolBar: TToolBar;
    OpenButton: TToolButton;
    SaveButton: TToolButton;
    PrintButton: TToolButton;
    ToolButton5: TToolButton;
    UndoButton: TToolButton;
    CutButton: TToolButton;
    CopyButton: TToolButton;
    PasteButton: TToolButton;
    ToolButton10: TToolButton;
    FontName: TComboBox;
    FontSize: TEdit;
    ToolButton11: TToolButton;
    UpDown1: TUpDown;
    BoldButton: TToolButton;
    ItalicButton: TToolButton;
    UnderlineButton: TToolButton;
    ToolButton16: TToolButton;
    LeftAlign: TToolButton;
    CenterAlign: TToolButton;
    RightAlign: TToolButton;
    ToolButton20: TToolButton;
    BulletsButton: TToolButton;
    ToolbarImages: TImageList;
    ActionList1: TActionList;
    FileNewCmd: TAction;
    FileOpenCmd: TAction;
    FileSaveCmd: TAction;
    FilePrintCmd: TAction;
    FileExitCmd: TAction;
    ToolButton1: TToolButton;
    ToolButton2: TToolButton;
    Bevel1: TBevel;
    LanguageMenu: TMenuItem;
    LanguageEnglish: TMenuItem;
    LanguageGerman: TMenuItem;
    EditCutCmd: TAction;
    EditCopyCmd: TAction;
    EditPasteCmd: TAction;
    EditUndoCmd: TAction;
    EditFontCmd: TAction;
    FileSaveAsCmd: TAction;
    LanguageFrench: TMenuItem;

    procedure SelectionChange(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure ShowHint(Sender: TObject);
    procedure FileNew(Sender: TObject);
    procedure FileOpen(Sender: TObject);
    procedure FileSave(Sender: TObject);
    procedure FileSaveAs(Sender: TObject);
    procedure FilePrint(Sender: TObject);
    procedure FileExit(Sender: TObject);
    procedure EditUndo(Sender: TObject);
    procedure EditCut(Sender: TObject);
    procedure EditCopy(Sender: TObject);
    procedure EditPaste(Sender: TObject);
    procedure HelpAbout(Sender: TObject);
    procedure SelectFont(Sender: TObject);
    procedure RulerResize(Sender: TObject);
    procedure FormResize(Sender: TObject);
    procedure FormPaint(Sender: TObject);
    procedure BoldButtonClick(Sender: TObject);
    procedure ItalicButtonClick(Sender: TObject);
    procedure FontSizeChange(Sender: TObject);
    procedure AlignButtonClick(Sender: TObject);
    procedure FontNameChange(Sender: TObject);
    procedure UnderlineButtonClick(Sender: TObject);
    procedure BulletsButtonClick(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure RulerItemMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure RulerItemMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure FirstIndMouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure LeftIndMouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure RightIndMouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure FormShow(Sender: TObject);
    procedure RichEditChange(Sender: TObject);
    procedure SwitchLanguage(Sender: TObject);
    procedure ActionList2Update(Action: TBasicAction;
      var Handled: Boolean);
  private
    FFileName: string;
    FUpdating: Boolean;
    FDragOfs: Integer;
    FDragging: Boolean;
    function CurrText: TTextAttributes;
    procedure GetFontNames;
    procedure SetFileName(const FileName: String);
    procedure CheckFileSave;
    procedure SetupRuler;
    procedure SetEditRect;
    procedure UpdateCursorPos;
    procedure WMDropFiles(var Msg: TWMDropFiles); message WM_DROPFILES;
    procedure PerformFileOpen(const AFileName: string);
    procedure SetModified(Value: Boolean);
  end;

var
  MainForm: TMainForm;

implementation

uses REAbout, RichEdit, ShellAPI, ReInit;

resourcestring
  sSaveChanges = 'Save changes to %s?';
  sOverWrite = 'OK to overwrite %s';
  sUntitled = 'Untitled';
  sModified = 'Modified';
  sColRowInfo = 'Line: %3d   Col: %3d';

const
  RulerAdj = 4/3;
  GutterWid = 6;

  ENGLISH = (SUBLANG_ENGLISH_US shl 10) or LANG_ENGLISH;
  FRENCH  = (SUBLANG_FRENCH shl 10) or LANG_FRENCH;
  GERMAN  = (SUBLANG_GERMAN shl 10) or LANG_GERMAN;

{$R *.DFM}

procedure TMainForm.SelectionChange(Sender: TObject);
begin
  with Editor.Paragraph do
  try
    FUpdating := True;
    FirstInd.Left := Trunc(FirstIndent*RulerAdj)-4+GutterWid;
    LeftInd.Left := Trunc((LeftIndent+FirstIndent)*RulerAdj)-4+GutterWid;
    RightInd.Left := Ruler.ClientWidth-6-Trunc((RightIndent+GutterWid)*RulerAdj);
    BoldButton.Down := fsBold in Editor.SelAttributes.Style;
    ItalicButton.Down := fsItalic in Editor.SelAttributes.Style;
    UnderlineButton.Down := fsUnderline in Editor.SelAttributes.Style;
    BulletsButton.Down := Boolean(Numbering);
    FontSize.Text := IntToStr(Editor.SelAttributes.Size);
    FontName.Text := Editor.SelAttributes.Name;
    case Ord(Alignment) of
      0: LeftAlign.Down := True;
      1: RightAlign.Down := True;
      2: CenterAlign.Down := True;
    end;
    UpdateCursorPos;
  finally
    FUpdating := False;
  end;
end;

function TMainForm.CurrText: TTextAttributes;
begin
  if Editor.SelLength > 0 then Result := Editor.SelAttributes
  else Result := Editor.DefAttributes;
end;

function EnumFontsProc(var LogFont: TLogFont; var TextMetric: TTextMetric;
  FontType: Integer; Data: Pointer): Integer; stdcall;
begin
  TStrings(Data).Add(LogFont.lfFaceName);
  Result := 1;
end;

procedure TMainForm.GetFontNames;
var
  DC: HDC;
begin
  DC := GetDC(0);
  EnumFonts(DC, nil, @EnumFontsProc, Pointer(FontName.Items));
  ReleaseDC(0, DC);
  FontName.Sorted := True;
end;

procedure TMainForm.SetFileName(const FileName: String);
begin
  FFileName := FileName;
  Caption := Format('%s - %s', [ExtractFileName(FileName), Application.Title]);
end;

procedure TMainForm.CheckFileSave;
var
  SaveResp: Integer;
begin
  if not Editor.Modified then Exit;
  SaveResp := MessageDlg(Format(sSaveChanges, [FFileName]),
    mtConfirmation, mbYesNoCancel, 0);
  case SaveResp of
    idYes: FileSave(Self);
    idNo: {Nothing};
    idCancel: Abort;
  end;
end;

procedure TMainForm.SetupRuler;
var
  I: Integer;
  S: String;
begin
  SetLength(S, 201);
  I := 1;
  while I < 200 do
  begin
    S[I] := #9;
    S[I+1] := '|';
    Inc(I, 2);
  end;
  Ruler.Caption := S;
end;

procedure TMainForm.SetEditRect;
var
  R: TRect;
begin
  with Editor do
  begin
    R := Rect(GutterWid, 0, ClientWidth-GutterWid, ClientHeight);
    SendMessage(Handle, EM_SETRECT, 0, Longint(@R));
  end;
end;

{ Event Handlers }

procedure TMainForm.FormCreate(Sender: TObject);
begin
  Application.OnHint := ShowHint;
  OpenDialog.InitialDir := ExtractFilePath(ParamStr(0));
  SaveDialog.InitialDir := OpenDialog.InitialDir;
  SetFileName(sUntitled);
  GetFontNames;
  SetupRuler;
  SelectionChange(Self);

  CurrText.Name := DefFontData.Name;
  CurrText.Size := -MulDiv(DefFontData.Height, 72, Screen.PixelsPerInch);

  LanguageEnglish.Tag := ENGLISH;
  LanguageFrench.Tag := FRENCH;
  LanguageGerman.Tag := GERMAN;
  case SysLocale.DefaultLCID of
    ENGLISH: SwitchLanguage(LanguageEnglish);
    FRENCH: SwitchLanguage(LanguageFrench);
    GERMAN: SwitchLanguage(LanguageGerman);
  end;
end;

procedure TMainForm.ShowHint(Sender: TObject);
begin
  if Length(Application.Hint) > 0 then
  begin
    StatusBar.SimplePanel := True;
    StatusBar.SimpleText := Application.Hint;
  end
  else StatusBar.SimplePanel := False;
end;

procedure TMainForm.FileNew(Sender: TObject);
begin
  SetFileName(sUntitled);
  Editor.Lines.Clear;
  Editor.Modified := False;
  SetModified(False);
end;

procedure TMainForm.PerformFileOpen(const AFileName: string);
begin

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
www激情久久| av一区二区三区在线| 夜夜揉揉日日人人青青一国产精品| 精品国产精品一区二区夜夜嗨| 欧美日韩在线观看一区二区 | 国产精品538一区二区在线| 视频一区视频二区中文| 日韩激情视频网站| 美腿丝袜亚洲综合| 国产一区在线视频| 国产精品综合av一区二区国产馆| 国产乱人伦偷精品视频不卡| 国产精品一级黄| 99久久精品免费| 欧美亚洲精品一区| 56国语精品自产拍在线观看| 欧美刺激午夜性久久久久久久| 欧美一区二区视频观看视频| 日韩免费高清av| 国产欧美一区二区精品仙草咪| 国产精品免费久久| 亚洲一区二区影院| 奇米色777欧美一区二区| 国产一区二区伦理| 日本高清视频一区二区| 欧美日韩国产高清一区| 久久综合狠狠综合久久综合88| 国产清纯白嫩初高生在线观看91 | 成人免费视频播放| 在线一区二区三区四区五区| 7878成人国产在线观看| 国产日韩成人精品| 亚洲综合色成人| 精品在线播放午夜| 91亚洲永久精品| 日韩视频在线你懂得| 日本一区免费视频| 亚洲国产成人av网| 国产91综合一区在线观看| 欧美色综合天天久久综合精品| 日韩一级片在线播放| 亚洲丝袜自拍清纯另类| 久草热8精品视频在线观看| 91啪亚洲精品| 久久久久青草大香线综合精品| 亚洲综合视频网| 国产精品77777竹菊影视小说| 欧美日韩精品电影| 国产精品国产精品国产专区不蜜 | 成人一区二区视频| 91精品在线免费观看| 亚洲欧洲无码一区二区三区| 久久99深爱久久99精品| 欧美艳星brazzers| 国产精品欧美精品| 国产一区二区在线观看免费| 欧美日韩国产成人在线免费| 国产精品卡一卡二| 国产精品888| 欧美α欧美αv大片| 亚洲成av人片| 在线免费观看日本欧美| 中文字幕一区二区三区av| 国产精品一二三区在线| 精品福利二区三区| 蜜桃av噜噜一区二区三区小说| 在线观看视频一区二区欧美日韩| 国产精品女主播av| 高清av一区二区| 久久青草国产手机看片福利盒子| 蜜臀av一级做a爰片久久| 欧美色图12p| 亚洲va欧美va国产va天堂影院| 91小视频免费观看| 亚洲视频 欧洲视频| 99久久99久久免费精品蜜臀| 国产欧美一区二区精品秋霞影院 | 波多野结衣一区二区三区| 久久精品视频一区二区| 岛国一区二区在线观看| 国产精品免费观看视频| av成人老司机| 一区二区三区成人在线视频| 色婷婷综合久久久久中文| 一区二区三区.www| 欧美日韩精品一区二区天天拍小说| 亚洲一二三四区不卡| 欧美日本韩国一区二区三区视频 | 日韩一区二区免费电影| 麻豆成人91精品二区三区| 精品国产亚洲一区二区三区在线观看| 免费视频最近日韩| 久久久精品国产免大香伊 | 99国产欧美另类久久久精品| 亚洲老司机在线| 91麻豆精品国产91久久久久久 | 91免费观看在线| 亚洲伦理在线免费看| 884aa四虎影成人精品一区| 美女一区二区三区在线观看| 337p日本欧洲亚洲大胆精品| 成人av手机在线观看| 亚洲一区二区欧美激情| 欧美变态tickling挠脚心| 大美女一区二区三区| 一区二区高清免费观看影视大全| 欧美三级视频在线观看| 狠狠色丁香婷婷综合| 国产精品久久久久9999吃药| 在线观看av不卡| 韩国视频一区二区| 亚洲一区二区三区免费视频| 精品对白一区国产伦| 色狠狠av一区二区三区| 国产最新精品免费| 亚洲小说欧美激情另类| 亚洲精品一区二区三区蜜桃下载| 97aⅴ精品视频一二三区| 日韩专区在线视频| 国产精品免费人成网站| 日韩一区二区免费在线电影| a美女胸又www黄视频久久| 日韩综合在线视频| 亚洲免费毛片网站| 久久久精品国产99久久精品芒果| 欧美视频中文字幕| bt7086福利一区国产| 国精品**一区二区三区在线蜜桃| 亚洲男帅同性gay1069| 国产亚洲一二三区| 欧美一区二区三区爱爱| 在线精品视频免费播放| 成人午夜av电影| 国内精品不卡在线| 日日夜夜精品免费视频| 一区二区三区四区亚洲| 国产精品视频在线看| 精品国产区一区| 欧美一级欧美三级| 欧美色倩网站大全免费| 一本到不卡免费一区二区| 成人美女在线观看| 国产精品乡下勾搭老头1| 老鸭窝一区二区久久精品| 偷窥少妇高潮呻吟av久久免费| ㊣最新国产の精品bt伙计久久| 国产视频一区不卡| 久久精品人人爽人人爽| 欧美tickling网站挠脚心| 欧美丰满高潮xxxx喷水动漫| 欧美四级电影网| 欧美性感一区二区三区| 欧美私模裸体表演在线观看| 欧美伊人久久大香线蕉综合69| 色88888久久久久久影院按摩| 9久草视频在线视频精品| 国产成人超碰人人澡人人澡| 国产盗摄精品一区二区三区在线| 国内精品国产三级国产a久久| 国产综合久久久久影院| 国产精品一区专区| 国产91精品在线观看| 成年人午夜久久久| 一本久久精品一区二区 | 天天综合日日夜夜精品| 丝袜美腿一区二区三区| 久久www免费人成看片高清| 国产在线精品一区在线观看麻豆| 国产经典欧美精品| 成人动漫中文字幕| 色欧美片视频在线观看在线视频| 在线观看日韩精品| 欧美精品aⅴ在线视频| 亚洲精品在线观看视频| 国产欧美一区二区在线| 一区二区三区视频在线看| 午夜激情久久久| 国产一区二区三区综合| 成av人片一区二区| 欧美日本韩国一区| 久久人人爽人人爽| 亚洲精品中文字幕乱码三区| 日本最新不卡在线| 国产美女视频91| 欧美这里有精品| 欧美www视频| 亚洲精品videosex极品| 轻轻草成人在线| 成人动漫视频在线| 日韩一区二区三区免费看| 国产精品视频一二| 日韩电影免费在线观看网站| 国产一区欧美日韩| 欧美日韩免费一区二区三区视频| 欧美videossexotv100| 一区二区不卡在线视频 午夜欧美不卡在| 日韩成人一级片| 91久久精品日日躁夜夜躁欧美| 日韩女优毛片在线| 亚洲国产精品自拍|