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

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

?? unit1.cpp

?? TRichView/RichView 是一套地道的Delphi/C++Builder控件
?? CPP
?? 第 1 頁 / 共 4 頁
字號:
//---------------------------------------------------------------------------
#include <vcl\vcl.h>
#include <vcl\Clipbrd.hpp>
#if __BORLANDC__ > 0x0530
#include <vcl\Jpeg.hpp>
#endif
#pragma hdrstop

#include "CtrlImg.hpp"
#include "RVTable.hpp"
#include "RVMisc.hpp"

#include "Unit1.h"
#include "PreviewFrm.h"
#include "RVUndoStr.h"
#include "CPFrm.h"
#include "PropFrm.h"
#include "ListFrm.h"
#include "OptionsFrm.h"
//---------------------------------------------------------------------------
#pragma link "RVEdit"
#pragma link "RichView"
#pragma link "RVScroll"
#pragma link "PtblRV"
#pragma link "RVStyle"
#pragma link "CtrlImg"
#pragma link "RVTable"
#pragma link "RVMisc"
#pragma link "RVUni"
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------
// This function is used in mitEditCheckpointClick() and mitEditPropsClick()
// to convert tag to string
AnsiString GetTagStr(int Tag)
{
  if (Form1->RichViewEdit1->Options.Contains(rvoTagsArePChars))
    if (!Tag)
      return "";
    else
      return (char*)Tag;
  else
    return IntToStr(Tag);
}
// This function is used in mitEditCheckpointClick() and mitEditPropsClick()
// to create tags from string TagStr (user input in edit box)
int MakeTag(const AnsiString TagStr)
{
   if (TagStr!="" &&
       Form1->RichViewEdit1->Options.Contains(rvoTagsArePChars))
   {
     char* r = StrNew(TagStr.c_str());
     return (int)r;
   }
   else
     return StrToIntDef(TagStr,0);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
   Randomize;

   HTMLSaveOptions << rvsoImageSizes << rvsoUseCheckpointsNames;
   HTMLTitle = "Demo File";

  // We need to register classes in order to load them from rvf files
  TComponentClass Classes[3] = { __classid(TButton), __classid(TEdit), __classid(TOleContainer) };
  RegisterClasses(Classes,2);

  RVStyle1->TextStyles->Items[11]->FontName = GetUnicodeFontName();

   // This demo program is saved in C++Builder 1, where Charset property is not available.
   // So assigning non-default charset here:
#if __BORLANDC__ > 0x520
   RVStyle1->TextStyles->Items[6]->Charset = SYMBOL_CHARSET;
   RVStyle1->ListStyles->Items[0]->Levels->Items[0]->Font->Charset = SYMBOL_CHARSET;
#endif

   // Items can have associated "tags" - integers or strings.
   // Comment next line to use integer tags
   RichViewEdit1->Options << rvoTagsArePChars;

   RichViewEdit1->LoadRVF(ExtractFilePath(Application->ExeName)+"Readme.rvf");
   FillStyleCombo(RVStyle1->ParaStyles, cmbPara);
   FillStyleCombo(RVStyle1->TextStyles, cmbText);
   RichViewEdit1->Format();
   cmbPara->ItemIndex = RichViewEdit1->CurParaStyleNo;
   cmbText->ItemIndex = RichViewEdit1->CurTextStyleNo;
   UpdateUndoMenu();
}
//---------------------------------------------------------------------------
// Returning available Unicode-enabled font
AnsiString TForm1::GetUnicodeFontName()
{
  if (Screen->Fonts->IndexOf("Arial Unicode MS")>=0)
    return "Arial Unicode MS";
  if (Screen->Fonts->IndexOf("Lucida Sans Unicode")>=0)
    return "Lucida Sans Unicode";
  return "Arial";
}
//---------------------------------------------------------------------------
// Filling combobox with standard styles 
void TForm1::FillStyleCombo(TCustomRVInfos* Styles, TComboBox* cmb)
{
  /* The simplest way to fill the combo box with style names is:
    cmb.Items.Assign(Styles);
    But this code will fill the combo box with all styles -
    both standard styles (i.e. real styles) and non-standard styles will be
    added in it.
    So we'll fill in the combo box manually.
    For simplification, we'll add only the first standard styles */
  cmb->Items->BeginUpdate();
  cmb->Items->Clear();
  for (int i = 0; i< Styles->Count; i++)
  {
    if (!((TCustomRVInfo*)(Styles->Items[i]))->Standard)
      break;
    cmb->Items->Add(((TCustomRVInfo*)(Styles->Items[i]))->StyleName);
  }
  cmb->Items->EndUpdate();
}
//---------------------------------------------------------------------------
void TForm1::UpdateUndoMenu()
{
  TRVUndoType UndoType = RichViewEdit1->UndoAction();
  mitUndo->Enabled = UndoType!=rvutNone;
  if (UndoType==rvutCustom)
    mitUndo->Caption = "Undo "+RichViewEdit1->UndoName();
  else
    mitUndo->Caption = "Undo "+RVUndoTypeNamesEn[UndoType];

  UndoType = RichViewEdit1->RedoAction();
  mitRedo->Enabled = UndoType!=rvutNone;
  if (UndoType==rvutCustom)
    mitRedo->Caption = "Redo "+RichViewEdit1->RedoName();
  else
    mitRedo->Caption = "Redo "+RVUndoTypeNamesEn[UndoType];
}
//---------------------------------------------------------------------------
void TForm1::DisplayUnicodeWarning()
{
  bool wasclear = RichViewEdit1->ItemCount==0;
  // This method is called before loading Unicode
  // (when inserting Unicode, editor automatically switches to Unicode style,
  // according to RVStyle1->DefUnicodeStyle, if necessary)
  if (!RVStyle1->TextStyles->Items[RichViewEdit1->CurTextStyleNo]->Unicode)
    Application->MessageBox("Loading/Inserting Unicode data using non-Unicode text style.\n"
                           "Text will be converted.\n"
                           "Choose 'Unicode' style in combo to use Unicode text style",
                           "Warning", MB_OK | MB_ICONEXCLAMATION);
  if (wasclear)
    RichViewEdit1->Clear();
}
//======================================================================
// Font and paragraph combos
//======================================================================
void __fastcall TForm1::RichViewEdit1CurParaStyleChanged(TObject *Sender)
{
  if (RichViewEdit1->CurParaStyleNo < cmbPara->Items->Count)
    cmbPara->ItemIndex = RichViewEdit1->CurParaStyleNo;
  else
    cmbPara->ItemIndex = -1;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::RichViewEdit1CurTextStyleChanged(TObject *Sender)
{
  if (RichViewEdit1->CurTextStyleNo < cmbText->Items->Count)
    cmbText->ItemIndex = RichViewEdit1->CurTextStyleNo;
  else
    cmbText->ItemIndex = -1;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::cmbParaClick(TObject *Sender)
{
   RichViewEdit1->ApplyParaStyle(cmbPara->ItemIndex);
   RichViewEdit1->SetFocus();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::cmbTextClick(TObject *Sender)
{
   RichViewEdit1->ApplyTextStyle(cmbText->ItemIndex);
   RichViewEdit1->SetFocus();
}
//======================================================================
// Main menu: "File"
//======================================================================
// File|Load...
void __fastcall TForm1::mitLoadClick(TObject *Sender)
{
  OpenDialog1->Title = "Loading & Import";
  OpenDialog1->Filter = "RichView Format Files(*.rvf)|*.rvf|"
                        "RTF Files (*.rtf)|*.rtf|"
                        "Text Files - autodetect (*.txt)|*.txt|"
                        "ANSI Text Files (*.txt)|*.txt|"
                        "Unicode Text Files (*.txt)|*.txt";
  if (OpenDialog1->Execute())
  {
    Screen->Cursor = crHourGlass;
    int CurTextStyleNo = RichViewEdit1->CurTextStyleNo;
    int CurParaStyleNo = RichViewEdit1->CurParaStyleNo;
    bool r;
    CloseOleContainer();
    RichViewEdit1->Clear();
    RichViewEdit1->CurTextStyleNo = CurTextStyleNo;
    RichViewEdit1->CurParaStyleNo = CurParaStyleNo;
    RVStyle1->DefUnicodeStyle = -1;
    switch (OpenDialog1->FilterIndex)
    {
      case 1: // RVF
        r = RichViewEdit1->LoadRVF(OpenDialog1->FileName);
        break;
      case 2: // RTF
        r = RichViewEdit1->LoadRTF(OpenDialog1->FileName);
        break;
      case 3: // Text
        if (RV_TestFileUnicode(OpenDialog1->FileName)==rvutYes)
        {
          DisplayUnicodeWarning();
          r = RichViewEdit1->LoadTextW(OpenDialog1->FileName,CurTextStyleNo,CurParaStyleNo,false);
        }
        else
          r = RichViewEdit1->LoadText(OpenDialog1->FileName,CurTextStyleNo,CurParaStyleNo,false);
        break;
      case 4: // ANSI text
        r = RichViewEdit1->LoadText(OpenDialog1->FileName,CurTextStyleNo,CurParaStyleNo,false);
        break;
      case 5: // Unicode text
        DisplayUnicodeWarning();
        r = RichViewEdit1->LoadTextW(OpenDialog1->FileName,CurTextStyleNo,CurParaStyleNo,false);
        break;
      default:
        r = False;
    }
    Screen->Cursor = crDefault;
    if (!r)
    {
      AnsiString ErrorMessage = "Error during loading";
      if (OpenDialog1->FilterIndex==1)
        ErrorMessage += GetRVFErrors();
      Application->MessageBox(ErrorMessage.c_str(), "Error", 0);
    }
    FillStyleCombo(RVStyle1->ParaStyles, cmbPara);
    FillStyleCombo(RVStyle1->TextStyles, cmbText);
    RichViewEdit1->Format();
    cmbPara->ItemIndex = RichViewEdit1->CurParaStyleNo;
    cmbText->ItemIndex = RichViewEdit1->CurTextStyleNo;
    UpdateUndoMenu();
  }
}
//---------------------------------------------------------------------------
// Event: picture needed while reading from RVF
void __fastcall TForm1::RichViewEdit1RVFPictureNeeded(TCustomRichView *Sender,
    AnsiString Name, int Tag, TGraphic *&gr)
{
  gr = new Graphics::TBitmap;
  gr->LoadFromFile(ExtractFilePath(Application->ExeName)+"default.bmp");
}
//---------------------------------------------------------------------------
// Event: control needed while reading from RVF
void __fastcall TForm1::RichViewEdit1RVFControlNeeded(TCustomRichView *Sender,
    AnsiString Name, int Tag, TControl *&ctrl)
{
  ctrl = new TButton ((TComponent*)NULL);
  ((TButton*)(ctrl))->Caption = "from file";
}
//---------------------------------------------------------------------------
// Event: imagelist needed while reading from RVF
void __fastcall TForm1::RichViewEdit1RVFImageListNeeded(TCustomRichView *Sender,
    int ImageListTag, TCustomImageList *&il)
{
  il = this->il;
}
//---------------------------------------------------------------------------
AnsiString TForm1::GetRVFErrors()
{
  AnsiString Result = "";
  if (RichViewEdit1->RVFWarnings.Contains(rvfwUnknownPicFmt))
    Result += "unknown picture format;";
  if (RichViewEdit1->RVFWarnings.Contains(rvfwUnknownCtrls))
    Result += "unknown control class;";
  if (RichViewEdit1->RVFWarnings.Contains(rvfwConvUnknownStyles))
    Result += "text, paragraph or list style is not present;";
  if (RichViewEdit1->RVFWarnings.Contains(rvfwConvLargeImageIdx))
    Result += "invalid image-list index;";
  if (Result.Length()>0)
    Result = "\n("+Result+")";
  return Result;
}
//---------------------------------------------------------------------------
// File|Save...
void __fastcall TForm1::mitSaveClick(TObject *Sender)
{
  SaveDialog1->Title = "Save & Export";
  SaveDialog1->Filter = "RichView Format files(*.rvf)|*.rvf|"
                        "RTF Files (*.rtf)|*.rtf|"
                        "Text (*.txt)|*.txt|"
                        "Unicode Text (*.txt)|*.txt|"
                        "HTML - with CSS (*.htm;*.html)|*.htm;*.html"
                        "HTML - Simplified (*.htm;*.html)|*.htm;*.html|";

  SaveDialog1->DefaultExt = "rvf";
  if (SaveDialog1->Execute())
  {
    Screen->Cursor = crHourGlass;
    bool r;
    switch (SaveDialog1->FilterIndex)
    {
      case 1: // RVF
        r = RichViewEdit1->SaveRVF(SaveDialog1->FileName, false);
        break;
      case 2: // RTF
        r = RichViewEdit1->SaveRTF(SaveDialog1->FileName, false);
        break;
      case 3: // ANSI Text (byte per character)
        r = RichViewEdit1->SaveText(SaveDialog1->FileName, 80);
        break;
      case 4: // Unicode Text (2 bytes per character)
        r = RichViewEdit1->SaveTextW(SaveDialog1->FileName, 80);
        break;
      case 5: // HTML with CSS
        r = RichViewEdit1->SaveHTMLEx(SaveDialog1->FileName, HTMLTitle,"img",
          "","","", HTMLSaveOptions);
        break;
      case 6: // HTML
        r = RichViewEdit1->SaveHTML(SaveDialog1->FileName, HTMLTitle,"img",
          HTMLSaveOptions);
        break;
      default:
        r = false;
    }
    Screen->Cursor = crDefault;
    if (!r)
      Application->MessageBox("Error during saving", "Error", 0);
  }
}
//---------------------------------------------------------------------------
// File | Options
void __fastcall TForm1::OptionsforSavingLoading1Click(TObject *Sender)
{
  TRVFOptions RVFOptions;
  frmOptions->SetOptions(RichViewEdit1->RVFOptions, HTMLSaveOptions, HTMLTitle);
  if (frmOptions->ShowModal()==mrOk)
  {
    frmOptions->GetOptions(RVFOptions, HTMLSaveOptions, HTMLTitle);
    RichViewEdit1->RVFOptions = RVFOptions;
  }
}
//---------------------------------------------------------------------------
// Event: saving controls in HTML
// Note: code below works normally in Internet Explorer
// Netscape 3 and 4 does not support <INPUT> tags outside <FORM></FORM> tags
// (Netscape 6 does)
void __fastcall TForm1::RichViewEdit1SaveComponentToFile(
    TCustomRichView *Sender, AnsiString Path, TPersistent *SaveMe,
    TRVSaveFormat SaveFormat, AnsiString &OutStr)
{
  switch (SaveFormat)
  {
   case rvsfText:
     OutStr = AnsiString("(")+SaveMe->ClassName()+")";
     break;
   case rvsfHTML:
     if (SaveMe->InheritsFrom(__classid(TButton)))
     {
       OutStr = "<INPUT type=\"button\" value=\""+((TButton*)SaveMe)->Caption+"\" "
                "onClick=\"alert('Just a demo')\">";
       return;
     }
     if (SaveMe->InheritsFrom(__classid(TEdit)))
     {

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人av免费观看| 亚洲精品日日夜夜| 久久精品久久99精品久久| 欧美日产国产精品| 亚洲一区二区在线播放相泽| 在线精品观看国产| 亚洲3atv精品一区二区三区| 欧美福利电影网| 激情综合色播激情啊| 久久久久亚洲综合| 成人教育av在线| 一区二区三区在线播放| 欧美日韩在线不卡| 久久精品99久久久| 中文字幕免费不卡在线| 日本韩国精品一区二区在线观看| 亚洲综合清纯丝袜自拍| 欧美成人精品福利| 国产suv精品一区二区6| 亚洲精品久久嫩草网站秘色| 欧美日韩精品一区二区三区| 蓝色福利精品导航| 国产精品国产自产拍在线| 欧美探花视频资源| 精品亚洲欧美一区| 亚洲视频一二区| 日韩一区国产二区欧美三区| 丁香另类激情小说| 亚洲成人免费视频| 国产人久久人人人人爽| 欧美偷拍一区二区| 国产一区二区电影| 一区二区国产视频| 久久久蜜臀国产一区二区| 色天天综合色天天久久| 青青草原综合久久大伊人精品| 国产偷国产偷精品高清尤物 | 欧美日韩免费电影| 九九精品视频在线看| 国产日韩v精品一区二区| 欧美三级蜜桃2在线观看| 国产精品77777| 亚洲bt欧美bt精品| 国产精品福利一区二区| 日韩一区二区在线观看| 色狠狠色噜噜噜综合网| 狠狠色综合日日| 亚洲国产成人av网| 国产欧美一区二区在线| 在线播放亚洲一区| 91色视频在线| 国产成人99久久亚洲综合精品| 视频在线观看国产精品| 国产精品高潮呻吟久久| 久久久亚洲午夜电影| 欧美精品亚洲二区| 色老综合老女人久久久| 国产69精品久久99不卡| 奇米色777欧美一区二区| 一区二区三区四区国产精品| 国产精品丝袜91| 欧美精品一区二区三区蜜臀| 91精品国产乱码| 欧美性高清videossexo| 91国在线观看| 91麻豆视频网站| 97超碰欧美中文字幕| 国产不卡视频在线播放| 久久99热国产| 精品一区二区国语对白| 蜜臀av性久久久久av蜜臀妖精| 亚洲高清久久久| 亚洲成人激情社区| 亚洲电影一区二区| 一区二区三区中文字幕电影 | 一区二区三区四区精品在线视频| 国产精品素人视频| 国产精品毛片久久久久久| 国产亚洲精品资源在线26u| 精品国产一区二区精华| 欧美变态口味重另类| 日韩女优制服丝袜电影| 欧美大白屁股肥臀xxxxxx| 欧美一区二区三级| 日韩美女视频在线| 欧美一区二区三区在线观看| 欧美成人一区二区三区| 久久久久久夜精品精品免费| 久久久久久亚洲综合影院红桃| 欧美国产1区2区| 亚洲欧美电影院| 亚洲一二三四久久| 丝袜美腿亚洲一区| 久久国产精品无码网站| 国产在线观看一区二区| 成人午夜精品在线| 色婷婷香蕉在线一区二区| 欧美午夜精品久久久久久超碰| 欧美卡1卡2卡| 久久这里只有精品6| 国产精品无码永久免费888| 亚洲男人的天堂av| 午夜视频在线观看一区二区| 久色婷婷小香蕉久久| 国产伦理精品不卡| 93久久精品日日躁夜夜躁欧美| 91豆麻精品91久久久久久| 欧美日韩一级二级三级| 亚洲精品在线三区| 亚洲视频图片小说| 天堂蜜桃一区二区三区| 精品午夜久久福利影院| 亚洲高清三级视频| 国产福利不卡视频| 男女性色大片免费观看一区二区| 久久精品国产精品青草| av动漫一区二区| 欧美福利视频导航| 中文字幕高清不卡| 一片黄亚洲嫩模| 极品少妇xxxx精品少妇| 一本大道av一区二区在线播放| 在线不卡一区二区| 国产精品护士白丝一区av| 日韩电影在线观看网站| 国产传媒欧美日韩成人| 色琪琪一区二区三区亚洲区| 精品久久久久久久久久久久久久久 | 免费不卡在线观看| 不卡av在线网| 日韩免费电影一区| 亚洲精品久久久久久国产精华液| 蜜桃免费网站一区二区三区| 91视频xxxx| 久久久不卡网国产精品二区| 亚洲成人激情综合网| 成人在线视频一区| 精品日韩欧美一区二区| 亚洲一级片在线观看| 成人性视频免费网站| 日韩视频在线永久播放| 亚洲人成小说网站色在线| 国产乱人伦偷精品视频免下载| 欧美视频一区二区三区| 国产精品高清亚洲| 国产老女人精品毛片久久| 9191久久久久久久久久久| 亚洲欧美一区二区三区孕妇| 国产精品亚洲专一区二区三区| 日韩一区二区免费高清| 亚洲一区免费观看| 91福利视频网站| 亚洲图片激情小说| 成人精品视频.| 久久精子c满五个校花| 美女一区二区视频| 欧美精品视频www在线观看| 亚洲精品精品亚洲| 不卡高清视频专区| 国产精品久久看| 成人综合在线网站| 久久久久久久网| 国产中文字幕一区| 久久影院午夜片一区| 经典三级一区二区| 欧美成人vps| 久久97超碰色| 精品999在线播放| 国产激情精品久久久第一区二区 | 国产盗摄一区二区| 久久综合av免费| 国产精品香蕉一区二区三区| 国产日韩精品一区二区浪潮av| 狠狠色丁香九九婷婷综合五月| 日韩你懂的在线播放| 极品销魂美女一区二区三区| 日韩欧美一级二级三级| 精品亚洲porn| 久久久99免费| 成人久久视频在线观看| 国产精品丝袜一区| 一本大道久久a久久精二百| 亚洲最大成人综合| 555www色欧美视频| 欧美a级一区二区| 26uuuu精品一区二区| 国产99久久久国产精品免费看| 欧美激情在线一区二区| 成人免费看的视频| 亚洲欧美日韩中文字幕一区二区三区| 91影院在线观看| 亚洲中国最大av网站| 日韩亚洲欧美中文三级| 国内外成人在线| 亚洲视频免费观看| 制服丝袜亚洲播放| 国产福利91精品| 亚洲色图.com| 3d动漫精品啪啪1区2区免费| 国产呦萝稀缺另类资源|