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

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

?? rm_rxrtf.pas

?? 中小企業(yè)管理系統(tǒng)------ ERP系統(tǒng)原代碼
?? PAS
?? 第 1 頁 / 共 3 頁
字號:
      BMP.Width := DRect.Right - DRect.Left + 1;
      BMP.Height := DRect.Bottom - DRect.Top + 1;
      BMP.Canvas.StretchDraw(Rect(0, 0, BMP.Width, BMP.Height), EMF);
      Canvas.Draw(DRect.Left, DRect.Top, BMP);
      BMP.Free;
    end;
    EMF.Free;
  end;
end;
{$WARNINGS ON}

procedure TRMRxRichView.Draw(aCanvas: TCanvas);
begin
  BeginDraw(aCanvas);
  CalcGaps;
  with aCanvas do
  begin
    ShowBackground;
    FCharFrom := 0;
    InflateRect(DRect, -gapx, -gapy);
    if (dx > 0) and (dy > 0) then
      ShowRich(True);
    ShowFrame;
  end;
  RestoreCoord;
end;

procedure TRMRxRichView.StreamOut(Stream: TStream);
var
  SaveTag: string;
  n: integer;
begin
  BeginDraw(Canvas);
  Memo1.Assign(Memo);
  CurReport.InternalOnEnterRect(Memo1, Self);
  RMInterpretator.DoScript(Script);
  if not Visible then
    Exit;

  SaveTag := Tag;
  if (Tag <> '') and (Pos('[', Tag) <> 0) then
    ExpandVariables(Tag);

  AssignRich(SRichEdit, RichEdit);
  if (Flags and flTextOnly) = 0 then
    GetRichData(SRichEdit);

  if DrawMode = drPart then
  begin
    FCharFrom := FLastChar;
    ShowRich(False);
    n := SRichEdit.GetTextLen - FLastChar + 1;
    if n > 0 then
    begin
      SRichEdit.SelStart := FLastChar;
      SRichEdit.SelLength := n;
      SRichEdit.SelText := '';
    end;

    SRichEdit.SelStart := 0;
    SRichEdit.SelLength := FCurChar;
    SRichEdit.SelText := '';

    FCurChar := FLastChar;
  end;

  Stream.Write(Typ, 1);
  RMWriteString(Stream, ClassName);
  FFlag := True;
  SaveToStream(Stream);
  FFlag := False;

  RMInterpretator.DoScript(Script_AfterPrint);
  Tag := SaveTag;
end;

function TRMRxRichView.CalcHeight: Integer;
begin
  FLastChar := 0;
  FCurChar := 0;
  Result := 0;
  RMInterpretator.DoScript(Script);
  if not Visible then
    Exit;

  Memo1.Assign(Memo);
  CurReport.InternalOnEnterRect(Memo1, Self);
  AssignRich(SRichEdit, RichEdit);
  if (Flags and flTextOnly) = 0 then
    GetRichData(SRichEdit);

  RMInterpretator.DoScript(Script_AfterPrint);
  FCharFrom := 0;
  Result := DoCalcHeight + GapY + GapY + _CalcVFrameWidth(TopFrame.Width, BottomFrame.Width);
end;

function TRMRxRichView.MinHeight: Integer;
begin
  Result := 8;
end;

function TRMRxRichView.LostSpace: Integer;
var
  n, lc, cc: Integer;
begin
  AssignRich(SRichEdit, RichEdit);
  if (Flags and flTextOnly) = 0 then
    GetRichData(SRichEdit);

  lc := FLastChar;
  cc := FCurChar;
  FCharFrom := 0;

  SRichEdit.SelStart := 0;
  SRichEdit.SelLength := FLastChar;
  SRichEdit.SelText := '';

  ShowRich(False);
  n := SRichEdit.GetTextLen - FLastChar + 1;
  if n > 0 then
  begin
    SRichEdit.SelStart := FLastChar;
    SRichEdit.SelLength := n;
    SRichEdit.SelText := '';
  end;

  FCharFrom := 0;
//  Result := Round(Abs(dy - DoCalcHeight)) + gapy * 2 + Round(FrameWidth * 2);
  Result := 0;
  FLastChar := lc;
  FCurChar := cc;
end;

function TRMRxRichView.RemainHeight: Integer;
begin
  Memo1.Assign(Memo);
  CurReport.InternalOnEnterRect(Memo1, Self);
  AssignRich(SRichEdit, RichEdit);
  if (Flags and flTextOnly) = 0 then
    GetRichData(SRichEdit);

  FCharFrom := FLastChar;
  Result := DoCalcHeight;
end;

procedure TRMRxRichView.LoadFromStream(Stream: TStream);
var
  b: Byte;
  n: Integer;
begin
  inherited LoadFromStream(Stream);
  Stream.Read(b, 1);
  Stream.Read(n, 4);
  if b <> 0 then
    RichEdit.Lines.LoadFromStream(Stream);
  Stream.Seek(n, soFromBeginning);
end;

procedure TRMRxRichView.SaveToStream(Stream: TStream);
var
  b: Byte;
  n, o: Integer;
  re: TRxRichEdit;
begin
  LVersion := 0;
  inherited SaveToStream(Stream);
  re := RichEdit;
  if FFlag then
    re := SRichEdit;
  b := 0;
  if re.Lines.Count <> 0 then
    b := 1;
  Stream.Write(b, 1);
  n := Stream.Position;
  Stream.Write(n, 4);
  if b <> 0 then
    re.Lines.SaveToStream(Stream);
  o := Stream.Position;
  Stream.Seek(n, soFromBeginning);
  Stream.Write(o, 4);
  Stream.Seek(0, soFromEnd);
end;

procedure TRMRxRichView.GetBlob(b: TField);
var
  s: TMemoryStream;
begin
  s := TMemoryStream.Create;
  if not Flag_TableEmpty then
    RMAssignBlobTo(b, s);
  RichEdit.Lines.LoadFromStream(s);
  s.Free;
end;

procedure TRMRxRichView.ShowEditor;
var
  tmpForm: TRMRxRichForm;
begin
  tmpForm := TRMRxRichForm.Create(Application);
  try
    AssignRich(tmpForm.Editor, RichEdit);
    if tmpForm.ShowModal = mrOK then
    begin
      RMDesigner.BeforeChange;
      AssignRich(RichEdit, tmpForm.Editor);
      RMDesigner.AfterChange;
    end;
  finally
    tmpForm.Free;
  end;
end;

procedure TRMRxRichView.RichEditor(Sender: TObject);
begin
  ShowEditor;
end;

procedure TRMRxRichView.DefinePopupMenu(Popup: TPopupMenu);
var
  m: TMenuItem;
begin
  inherited DefinePopupMenu(Popup);
  m := TMenuItem.Create(Popup);
  m.Caption := RMLoadStr(STextOnly);
  m.OnClick := P1Click;
  m.Checked := (Flags and flTextOnly) <> 0;
  Popup.Items.Add(m);
end;

procedure TRMRxRichView.P1Click(Sender: TObject);
var
  i: Integer;
  t: TRMView;
begin
  RMDesigner.BeforeChange;
  with Sender as TMenuItem do
  begin
    Checked := not Checked;
    for i := 0 to RMDesigner.Page.Objects.Count - 1 do
    begin
      t := RMDesigner.Page.Objects[i];
      if t.Selected then
        t.Flags := (t.Flags and not flTextOnly) + Word(Checked) * flTextOnly;
    end;
  end;
  RMDesigner.AfterChange;
end;

function TRMRxRichView.GetViewCommon: string;
begin
  Result := '[Rx Rich]';
end;

procedure TRMRxRichView.LoadFromRichEdit(aRichEdit: TRxRichEdit);
begin
  AssignRich(RichEdit, aRichEdit);
end;

{------------------------------------------------------------------------------}
{------------------------------------------------------------------------------}
{TRMRxRichForm}

procedure TRMRxRichForm.Localize;
begin
  Font.Name := RMLoadStr(SRMDefaultFontName);
  Font.Size := StrToInt(RMLoadStr(SRMDefaultFontSize));
  Font.Charset := StrToInt(RMLoadStr(SCharset));

//  Caption := RMLoadStr(rmRes + 560);
  RMSetStrProp(btnFileNew, 'Hint', rmRes + 155);
  RMSetStrProp(btnFileOpen, 'Hint', rmRes + 561);
  RMSetStrProp(btnFileSave, 'Hint', rmRes + 562);
  RMSetStrProp(btnUndo, 'Hint', rmRes + 94);
  RMSetStrProp(btnRedo, 'Hint', rmRes + 95);
  RMSetStrProp(btnFind, 'Hint', rmRes + 582);
  RMSetStrProp(btnFontBold, 'Hint', rmRes + 564);
  RMSetStrProp(btnFontItalic, 'Hint', rmRes + 565);
  RMSetStrProp(btnFontUnderline, 'Hint', rmRes + 569);
  RMSetStrProp(btnAlignLeft, 'Hint', rmRes + 566);
  RMSetStrProp(btnAlignCenter, 'Hint', rmRes + 567);
  RMSetStrProp(btnAlignRight, 'Hint', rmRes + 568);
  RMSetStrProp(btnBullets, 'Hint', rmRes + 570);
  RMSetStrProp(btnInsertField, 'Hint', rmRes + 575);
  RMSetStrProp(btnCut, 'Hint', rmRes + 91);
  RMSetStrProp(btnCopy, 'Hint', rmRes + 92);
  RMSetStrProp(btnPaste, 'Hint', rmRes + 93);
  RMSetStrProp(btnSuperscript, 'Hint', rmRes + 580);
  RMSetStrProp(btnSubscript, 'Hint', rmRes + 581);

  ItmCut.Caption := btnCut.Hint;
  ItmCopy.Caption := btnCopy.Hint;
  ItmPaste.Caption := btnPaste.Hint;
  RMSetStrProp(MenuFile, 'Caption', rmRes + 154);
  RMSetStrProp(ItemFileNew, 'Caption', rmRes + 155);
  RMSetStrProp(ItemFileOpen, 'Caption', rmRes + 156);
  RMSetStrProp(ItemFileSaveAs, 'Caption', rmRes + 188);
  RMSetStrProp(ItemFilePrint, 'Caption', rmRes + 159);
  RMSetStrProp(ItemFileExit, 'Caption', rmRes + 162);
  RMSetStrProp(MenuEdit, 'Caption', rmRes + 163);
  RMSetStrProp(ItemEditUndo, 'Caption', rmRes + 164);
  RMSetStrProp(ItemEditRedo, 'Caption', rmRes + 165);
  RMSetStrProp(ItemEditCut, 'Caption', rmRes + 166);
  RMSetStrProp(ItemEditCopy, 'Caption', rmRes + 167);
  RMSetStrProp(ItemEditPaste, 'Caption', rmRes + 168);
  RMSetStrProp(ItemEditPasteSpecial, 'Caption', rmRes + 572);
  RMSetStrProp(ItemEditSelectAll, 'Caption', rmRes + 170);
  RMSetStrProp(ItemEditFind, 'Caption', rmRes + 582);
  RMSetStrProp(ItemEditFindNext, 'Caption', rmRes + 583);
  RMSetStrProp(ItemEditReplace, 'Caption', rmRes + 584);
  RMSetStrProp(ItemEditObjProps, 'Caption', rmRes + 585);
  RMSetStrProp(MenuInsert, 'Caption', rmRes + 586);
  RMSetStrProp(ItemInserObject, 'Caption', rmRes + 587);
  RMSetStrProp(ItemInsertPicture, 'Caption', rmRes + 588);
  RMSetStrProp(ItemInsertField, 'Caption', rmRes + 575);
  RMSetStrProp(MenuFormat, 'Caption', rmRes + 589);
  RMSetStrProp(ItemFormatFont, 'Caption', rmRes + 576);
  RMSetStrProp(ItemFormatParagraph, 'Caption', rmRes + 852);

  btnOK.Hint := RMLoadStr(rmRes + 573);
  btnCancel.Hint := RMLoadStr(rmRes + 574);
end;

procedure TRMRxRichForm.FocusEditor;
begin
  with Editor do
  begin
    if CanFocus then
      SetFocus;
  end;
end;

procedure TRMRxRichForm.SelectionChange(Sender: TObject);
begin
  with Editor.Paragraph do
  begin
    try
      FUpdating := True;
      FRuler.UpdateInd;
      BtnFontBold.Down := fsBold in CurrText.Style;
      BtnFontItalic.Down := fsItalic in CurrText.Style;
      BtnFontUnderline.Down := fsUnderline in CurrText.Style;
      BtnBullets.Down := Boolean(Numbering);
      BtnSuperscript.Down := CurrText.SubscriptStyle = ssSuperscript;
      BtnSubscript.Down := CurrText.SubscriptStyle = ssSubscript;
      RMSetFontSize(TComboBox(FCmbFontSize), CurrText.Size);
      FCmbFont.FontName := CurrText.Name;
      case Ord(Alignment) of
        0: BtnAlignLeft.Down := True;
        1: BtnAlignRight.Down := True;
        2: BtnAlignCenter.Down := True;
      end;
      UpdateCursorPos;
    finally
      FUpdating := False;
    end;
  end;
end;

function TRMRxRichForm.CurrText: TRxTextAttributes;
begin
  if Editor.SelLength > 0 then
    Result := Editor.SelAttributes
  else
    Result := Editor.WordAttributes;
end;

procedure TRMRxRichForm.SetFileName(const FileName: string);
begin
  FFileName := FileName;
  Editor.Title := ExtractFileName(FileName);
end;

procedure TRMRxRichForm.SetEditRect;
var
  R: TRect;
  Offs: Integer;
begin
  with Editor do
  begin
    if SelectionBar then
      Offs := 3
    else
      Offs := 0;
    R := Rect(GutterWid + Offs, 0, ClientWidth - GutterWid, ClientHeight);
    SendMessage(Handle, EM_SETRECT, 0, Longint(@R));
  end;
end;

{ Event Handlers }

procedure TRMRxRichForm.FormCreate(Sender: TObject);
var
  i, liOffset: Integer;
  s, s1: string;
begin
  Localize;
  Editor := TRxRichEdit.Create(Self);
  with Editor do
  begin
    Parent := Self;
    Align := alClient;
    HideSelection := False;
    Editor.PopupMenu := Self.EditPopupMenu;
    WantTabs := False;
    ScrollBars := ssBoth;

    OnTextNotFound := EditorTextNotFound;
    OnSelectionChange := SelectionChange;
    OnProtectChange := EditorProtectChange;
    OnChange := RichEditChange;
  end;

  FcmbFont := TRMFontComboBox.Create(ToolBar2);
  with FcmbFont do
  begin
    Parent := ToolBar2;
    Left := 0;
    Top := 0;
    Height := 21;
    Width := 150;
    Tag := 7;
//    Device := rmfdPrinter;
    OnChange := OnCmbFontChange;
  end;
  FcmbFontSize := TComboBox.Create(ToolBar2);
  with FcmbFontSize do
  begin
    Parent := ToolBar2;
    Left := 150;
    Top := 0;
    Height := 21;
    Width := 59;
    Tag := 8;
    DropDownCount := 12;
    if RMIsChineseGB then
      liOffset := 0
    else
      liOffset := 13;
    for i := Low(RMDefaultFontSizeStr) + liOffset to High(RMDefaultFontSizeStr) do
      Items.Add(RMDefaultFontSizeStr[i]);
    OnChange := OnCmbFontSizeChange;
  end;
  FBtnFontColor := TRMColorPickerButton.Create(ToolBar2);
  with FBtnFontColor do
  begin
    Parent := ToolBar2;
    Left := ToolButton18.Left + ToolButton18.Width;
    Top := 0;
    ColorType := rmptFont;
    OnColorChange := OnColorChangeEvent;
  end;
  FBtnBackColor := TRMColorPickerButton.Create(ToolBar2);
  with FBtnBackColor do
  begin
    Parent := ToolBar2;
    Left := FBtnFontColor.Left + FBtnFontColor.Width;
    Top := 0;
    ColorType := rmptFill;
    OnColorChange := OnColorChangeEvent;
  end;

  FRuler := TRMRuler.Create(Self);
  with FRuler do
  begin
    Top := ToolBar2.Top + ToolBar2.Height;
    RichEdit := TCustomRichEdit(Editor);
    Align := alTop;
    Height := 26;
    OnIndChanged := SelectionChange;
  end;

  OpenDialog.InitialDir := ExtractFilePath(ParamStr(0));
  SaveDialog.InitialDir := OpenDialog.InitialDir;
  SetFileName('Untitled');
  HandleNeeded;
  SelectionChange(Self);
{$IFDEF OPENPICTUREDLG}
  Editor.OnCloseFindDialog := EditFindDialogClose;
  FOpenPictureDialog := TOpenPictureDialog.Create(Self);
{$ELSE}
  FOpenPictureDialog := TOpenDialog.Create(Self);
{$ENDIF}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久午夜免费电影| 欧美日韩国产综合一区二区| 亚洲精品成人在线| 在线不卡中文字幕播放| 成人一级视频在线观看| 99久久精品国产麻豆演员表| 亚洲五月六月丁香激情| 久久久久久久久99精品| 欧美日韩一区小说| 丁香另类激情小说| 麻豆91在线看| 亚洲国产精品久久艾草纯爱| 国产精品美女久久久久高潮| 日韩一级大片在线观看| 在线国产电影不卡| 成人国产免费视频| 国产美女一区二区三区| 日韩高清电影一区| 亚洲男同性视频| 国产日本一区二区| 精品国产乱码久久久久久老虎| 欧美视频一二三区| 99re6这里只有精品视频在线观看| 国产一区二区三区日韩| 蜜臀久久久99精品久久久久久| 亚洲午夜精品一区二区三区他趣| 欧美极品美女视频| 久久亚洲精精品中文字幕早川悠里 | 欧美日韩在线电影| 99久久国产综合精品色伊| 国产精品一级黄| 国内成人精品2018免费看| 免费一级欧美片在线观看| 亚洲成av人片观看| 亚洲成人激情综合网| 亚洲综合色丁香婷婷六月图片| 亚洲另类一区二区| 亚洲欧美激情一区二区| 亚洲色图.com| 最新日韩在线视频| 亚洲欧美一区二区不卡| 日韩一区在线看| 日韩码欧中文字| 亚洲精品视频在线观看免费| 自拍偷在线精品自拍偷无码专区 | 欧美日韩国产综合一区二区三区| 在线看不卡av| 91福利视频久久久久| 欧美性色aⅴ视频一区日韩精品| 欧美最新大片在线看| 精品1区2区3区| 91精品久久久久久蜜臀| 欧美大胆一级视频| 国产亚洲福利社区一区| 欧美激情在线观看视频免费| 国产精品毛片大码女人| 亚洲精品视频在线| 亚洲福利电影网| 欧美a级理论片| 国产在线视视频有精品| 成人动漫一区二区在线| 日本精品免费观看高清观看| 精品视频全国免费看| 欧美大片免费久久精品三p| 国产亚洲美州欧州综合国| 亚洲色图制服诱惑| 亚洲国产精品久久久久秋霞影院| 日本va欧美va精品| 亚洲精品日产精品乱码不卡| 日韩黄色在线观看| 精油按摩中文字幕久久| 国产激情偷乱视频一区二区三区| 国产一区二区精品久久| 成人一区二区三区在线观看 | 亚洲精品国产无套在线观| 亚洲激情图片小说视频| 夜夜嗨av一区二区三区中文字幕| 一区二区三区毛片| 日韩av电影免费观看高清完整版 | youjizz国产精品| 91原创在线视频| 欧美亚洲综合另类| 在线成人小视频| 日本一区二区三区国色天香| 亚洲日本一区二区三区| 亚洲成人激情av| 九九九久久久精品| 94-欧美-setu| 欧美日韩国产在线观看| 欧美成人三级电影在线| 久久综合九色综合欧美就去吻| 久久久久久久网| 一区二区三区日韩在线观看| 日韩av午夜在线观看| 丁香天五香天堂综合| 日本精品免费观看高清观看| 欧美不卡123| 亚洲欧美日本在线| 麻豆中文一区二区| 在线视频一区二区三区| 日韩一级二级三级| 亚洲人成人一区二区在线观看| 午夜电影一区二区| 懂色av一区二区三区免费看| 5月丁香婷婷综合| 中文字幕av一区二区三区高| 一区二区三区免费在线观看| 美女视频黄 久久| 91啪亚洲精品| 亚洲精品一区在线观看| 一区二区三区成人| 国产乱码精品一区二区三| 在线国产电影不卡| 久久精品人人爽人人爽| 男人的j进女人的j一区| 91麻豆123| 精品国产123| 亚洲第一综合色| av电影天堂一区二区在线观看| 欧美一级日韩免费不卡| 亚洲免费观看高清完整版在线观看| 香蕉影视欧美成人| 在线一区二区视频| 欧美激情一区不卡| 伦理电影国产精品| 欧美特级限制片免费在线观看| 欧美高清在线精品一区| 久久精品av麻豆的观看方式| 欧美色老头old∨ideo| 久久久亚洲欧洲日产国码αv| 丝袜美腿亚洲色图| 色综合久久精品| 欧美国产视频在线| 国内精品视频一区二区三区八戒| 欧美高清性hdvideosex| 亚洲精品成人悠悠色影视| 丁香激情综合国产| 精品国产一区二区三区av性色 | 亚洲精品第一国产综合野| 成人av在线播放网站| 精品伦理精品一区| 奇米精品一区二区三区四区 | 亚洲精品中文在线| a亚洲天堂av| 久久免费看少妇高潮| 岛国精品在线播放| 久久久av毛片精品| 国产一区日韩二区欧美三区| 日韩欧美视频一区| 另类欧美日韩国产在线| 欧美成人精品福利| 老司机精品视频一区二区三区| 日韩区在线观看| 国产一区二三区好的| 日韩精品一区二区三区中文精品 | 久久久国产综合精品女国产盗摄| 九色porny丨国产精品| 日韩一区二区三区av| 免费看日韩a级影片| 日韩欧美一级精品久久| 久久99国内精品| 国产精品久久久久久久久动漫| 国产乱码精品一区二区三区av| 久久这里只有精品首页| 国产乱码精品1区2区3区| 国产精品毛片无遮挡高清| 不卡的电影网站| 亚洲精品乱码久久久久久久久| 不卡av在线免费观看| 亚洲第一av色| 欧美一区二区三区人| 精品无人码麻豆乱码1区2区| 久久人人97超碰com| 成+人+亚洲+综合天堂| 亚洲三级在线免费观看| eeuss鲁片一区二区三区| 亚洲欧美激情一区二区| 欧美高清视频www夜色资源网| 日本aⅴ精品一区二区三区| 日韩欧美成人激情| 大尺度一区二区| 亚洲已满18点击进入久久| 欧美最新大片在线看| 国产成人在线影院| 亚洲免费资源在线播放| 制服.丝袜.亚洲.中文.综合| 国产精品伊人色| 亚洲免费av在线| 日韩免费成人网| 成人性视频网站| 午夜私人影院久久久久| 久久日韩粉嫩一区二区三区| 丁香啪啪综合成人亚洲小说| 亚洲一区二区三区视频在线播放| 日韩精品一区二区三区中文不卡| 丰满放荡岳乱妇91ww| 五月婷婷色综合| 亚洲国产高清aⅴ视频| 欧美美女一区二区三区| 国产成人av自拍|