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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 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

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品资源在线看| 日韩精品一区第一页| 国产成人aaa| 国产欧美日本一区二区三区| 国产精品自拍毛片| 国产精品久久三区| 在线看一区二区| 亚洲mv在线观看| 精品区一区二区| www.欧美.com| 亚洲第一会所有码转帖| 欧美一区二区三区系列电影| 久草热8精品视频在线观看| 欧美激情在线一区二区三区| 99久久婷婷国产综合精品电影| 1000部国产精品成人观看| 在线观看一区二区视频| 麻豆国产欧美日韩综合精品二区 | 国产成人精品三级| 综合色天天鬼久久鬼色| 欧美日韩一区二区电影| 国产主播一区二区三区| 亚洲欧美电影院| 欧美大片免费久久精品三p| 国产成都精品91一区二区三| 亚洲一区二区三区爽爽爽爽爽 | 久久一区二区三区国产精品| 不卡的av电影在线观看| 香港成人在线视频| 国产人成一区二区三区影院| 欧美亚男人的天堂| 国产成人啪免费观看软件| 亚洲宅男天堂在线观看无病毒 | 欧美国产日韩一二三区| 在线视频欧美精品| 国产精品538一区二区在线| 久久精品国产99久久6| 亚洲欧洲另类国产综合| 欧美mv和日韩mv的网站| 色综合一区二区| 国产久卡久卡久卡久卡视频精品| 亚洲精品免费视频| 久久一区二区三区四区| 欧美精品久久99| 91免费国产在线观看| 韩国欧美国产一区| 亚洲h动漫在线| 亚洲免费观看视频| 视频精品一区二区| 最新国产成人在线观看| 久久夜色精品一区| 日韩欧美区一区二| 欧美性极品少妇| 91亚洲男人天堂| 国产成人在线视频网站| 久久99精品久久久| 五月婷婷久久综合| 一区二区三国产精华液| 中文字幕视频一区| 国产精品久久久久影院| 精品国产91久久久久久久妲己 | 欧美日韩aaaaaa| 91久久国产综合久久| 99视频精品全部免费在线| 国产精品一区二区91| 国模套图日韩精品一区二区| 蜜桃视频免费观看一区| 亚洲6080在线| 五月天国产精品| 亚洲国产精品一区二区尤物区| 亚洲欧美另类久久久精品2019| 国产精品盗摄一区二区三区| 欧美激情中文字幕| 亚洲国产高清在线| 中文字幕在线观看不卡| 一色桃子久久精品亚洲| 亚洲日本va在线观看| 亚洲天堂免费看| 亚洲欧美日韩国产手机在线| 亚洲人一二三区| 亚洲午夜精品网| 天堂影院一区二区| 天堂久久一区二区三区| 日本午夜精品一区二区三区电影| 亚洲成人综合网站| 蜜臀av一级做a爰片久久| 美女视频黄 久久| 国产精品乡下勾搭老头1| 国产成人在线视频网站| 99精品国产一区二区三区不卡| 成人黄色免费短视频| 色欧美日韩亚洲| 欧美午夜精品一区| 欧美电影免费观看完整版| 精品欧美乱码久久久久久1区2区| 国产亚洲精品久| 亚洲天堂免费看| 视频一区视频二区在线观看| 日本va欧美va瓶| 国产成人鲁色资源国产91色综 | 欧美日韩精品欧美日韩精品一| 5858s免费视频成人| 久久婷婷久久一区二区三区| 亚洲欧美综合另类在线卡通| 一区二区日韩av| 久久99国产精品麻豆| eeuss国产一区二区三区| 欧美无人高清视频在线观看| 欧美大胆一级视频| 国产精品久久久久久户外露出| 一区二区三区欧美在线观看| 麻豆91精品视频| 成人高清视频在线| 在线电影欧美成精品| 久久综合久久99| 亚洲精品成人悠悠色影视| 精品一二线国产| 91久久国产最好的精华液| 欧美成人video| 亚洲激情图片小说视频| 久久99精品国产麻豆不卡| 色欲综合视频天天天| 精品久久久网站| 一区二区三区欧美日韩| 激情小说亚洲一区| 欧美又粗又大又爽| 国产欧美日产一区| 日本美女一区二区| 在线免费视频一区二区| 久久久电影一区二区三区| 亚洲国产欧美一区二区三区丁香婷| 激情图区综合网| 欧美日韩国产中文| 国产精品动漫网站| 国产麻豆视频精品| 3d成人h动漫网站入口| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 五月天网站亚洲| 99久久精品国产精品久久| 久久夜色精品国产噜噜av| 亚洲第一福利视频在线| jvid福利写真一区二区三区| 精品sm在线观看| 男人的j进女人的j一区| 在线观看成人小视频| 国产精品短视频| 国产成人精品免费视频网站| 精品捆绑美女sm三区| 日本在线不卡视频一二三区| 91九色最新地址| 亚洲丝袜精品丝袜在线| 国产91精品免费| 久久久精品国产99久久精品芒果| 美女爽到高潮91| 日韩一级视频免费观看在线| 亚洲18女电影在线观看| 欧美网站大全在线观看| 亚洲欧美日本韩国| 色婷婷激情久久| 亚洲精品日日夜夜| 91国产成人在线| 一区二区激情小说| 色成年激情久久综合| 综合在线观看色| 色噜噜狠狠色综合欧洲selulu| 亚洲女同女同女同女同女同69| 99久久精品免费观看| 亚洲蜜臀av乱码久久精品蜜桃| av动漫一区二区| 亚洲另类一区二区| 在线观看日韩高清av| 亚洲国产精品久久人人爱蜜臀| 日本乱人伦aⅴ精品| 亚洲电影一区二区| 欧美日韩成人一区二区| 免播放器亚洲一区| 日韩欧美高清一区| 国产一区在线观看麻豆| 久久精品一区二区| www.66久久| 亚洲一区二区三区免费视频| 欧美老肥妇做.爰bbww视频| 美腿丝袜在线亚洲一区| 欧美精品一区二区三区四区| 国产a区久久久| 亚洲另类在线视频| 91精品午夜视频| 国产最新精品免费| 中文字幕一区二区三区精华液| 91成人免费在线| 日韩高清国产一区在线| 精品sm在线观看| 91麻豆国产福利精品| 视频一区中文字幕| 久久亚洲精精品中文字幕早川悠里| 国产不卡视频在线观看| 一区二区三区四区在线免费观看| 欧美日韩成人一区| 风间由美一区二区av101 | 一本久道中文字幕精品亚洲嫩 |