⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 note.cpp

📁 一个比WINDOWS自带的记事本的功能还要好一些的纯文本文件编辑软件。
💻 CPP
字号:
#include <vcl.h>
#pragma hdrstop

#include "note.h"
#include <IniFiles.hpp>
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
String fn;bool lcok;
TIniFile *lcini=new TIniFile("lcnote.ini");
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{

}
//---------------------------------------------------------------------------
void __fastcall TForm1::O1Click(TObject *Sender)
{//打开文件
if(OpenDialog1->Execute())
{
fn=OpenDialog1->FileName;
RichEdit1->Lines->LoadFromFile(fn);
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N2Click(TObject *Sender)
{//退出
Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N3Click(TObject *Sender)
{//新建文件
RichEdit1->Lines->Clear();
fn="未命名文档.txt";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::S1Click(TObject *Sender)
{ //保存文件
RichEdit1->Lines->SaveToFile(fn);
S1->Enabled=false;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N4Click(TObject *Sender)
{ //另存文件
if(SaveDialog1->Execute())
RichEdit1->Lines->SaveToFile(SaveDialog1->FileName);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N5Click(TObject *Sender)
{  //剪切
RichEdit1->CutToClipboard();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N7Click(TObject *Sender)
{  //复制
RichEdit1->CopyToClipboard();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N6Click(TObject *Sender)
{  //粘贴
RichEdit1->PasteFromClipboard();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N8Click(TObject *Sender)
{  //删除
RichEdit1->ClearSelection();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{  //初始化
fn="未命名文档.lhf";
if(ParamCount()>0)
{
fn=ParamStr(1);
this->Caption="记事本 - "+fn;
RichEdit1->Lines->LoadFromFile(fn);
}
S1->Enabled=false;
N13->Enabled=false;
RichEdit1->WordWrap=lcini->ReadBool("Config","Line",lcok);
N20->Checked=lcini->ReadBool("Config","Line",lcok);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N11Click(TObject *Sender)
{ //全选
RichEdit1->SelectAll();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N13Click(TObject *Sender)
{  //撤销
static int flag=1;
if(flag==1)
{
RichEdit1->Undo();
N13->Caption="重做";
}
else
{
RichEdit1->Undo();
N13->Caption="撤消";
}
flag=-flag;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N14Click(TObject *Sender)
{  //设置背景颜色
if(ColorDialog1->Execute())
RichEdit1->Color=ColorDialog1->Color;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N15Click(TObject *Sender)
{  //设置字体
if(FontDialog1->Execute())
RichEdit1->Font=FontDialog1->Font;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N17Click(TObject *Sender)
{ //插入日期时间
RichEdit1->SetSelTextBuf(DateTimeToStr(Now()).c_str());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCloseQuery(TObject *Sender, bool &CanClose)
{ //关闭提示
int lc;
String lcstr;
lcstr=fn+"内容已经被更改,\n你是否要保存?" ;
lc=Application->MessageBox(lcstr.c_str(),"LC记事本",
MB_YESNOCANCEL+MB_ICONINFORMATION);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::RichEdit1Change(TObject *Sender)
{  //设置按钮状态
if(RichEdit1->CanUndo)
{
S1->Enabled=true;
N13->Enabled=true;
}
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FindDialog1Find(TObject *Sender)
{  //查找下一个
TSearchTypes ft;
static int fpos,atpos=0;
if(FindDialog1->Options.Contains(frMatchCase))
ft<<stMatchCase;
if(FindDialog1->Options.Contains(frWholeWord))
ft<<stWholeWord;
RichEdit1->SelStart=atpos;
fpos=RichEdit1->FindText(FindDialog1->FindText,RichEdit1->SelStart,
RichEdit1->Text.Length(),ft);
if(fpos!=-1)
{
RichEdit1->SetFocus();
RichEdit1->SelStart=fpos;
RichEdit1->SelLength=FindDialog1->FindText.Length();
}
else
{
Application->MessageBox("搜寻完毕!","LC记事本",MB_OK+MB_ICONINFORMATION);
RichEdit1->SelStart=0;
}
if(FindDialog1->Options.Contains(frDown))
atpos=RichEdit1->SelStart+FindDialog1->FindText.Length();
else
atpos-=FindDialog1->FindText.Length();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N19Click(TObject *Sender)
{  //查找下一个
FindDialog1Find(Sender);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N20Click(TObject *Sender)
{   //换行
if(RichEdit1->WordWrap)
{
RichEdit1->WordWrap=false;
N20->Checked=false;
}
else
{
RichEdit1->WordWrap=true;
N20->Checked=true;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N30Click(TObject *Sender)
{//保存设置
lcok=RichEdit1->WordWrap;
lcini->WriteBool("Config","Line",lcok);
}
//---------------------------------------------------------------------------

void __fastcall TForm1::N31Click(TObject *Sender)
{ //查找
FindDialog1->Execute();        
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N32Click(TObject *Sender)
{ //以只读方式打开
if(RichEdit1->ReadOnly)
{
RichEdit1->ReadOnly=false;
N32->Checked=false;
}
else
{
RichEdit1->ReadOnly=true;
N32->Checked=true;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ENTER1Click(TObject *Sender)
{// 允许Enter键
if(RichEdit1->WantReturns)
{
RichEdit1->WantReturns=false;
ENTER1->Checked=false;
}
else
{
RichEdit1->WantReturns=true;
ENTER1->Checked=true;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Tab1Click(TObject *Sender)
{//允许Tab键
if(RichEdit1->WantTabs)
{
RichEdit1->WantTabs=false;
Tab1->Checked=false;
}
{
RichEdit1->WantTabs=true;
Tab1->Checked=true;
}
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -