unit1.cpp

来自「C++Builder高级应用开发指南随书源码」· C++ 代码 · 共 77 行

CPP
77
字号
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
#include <inifiles.hpp>
#include <Registry.hpp>

//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
      //记录关闭时,窗口的位置
      TIniFile *pIniFile;
      AnsiString FileName;
      //Application->ExeName指向本可执行文件的文件名(包含全路径)
      FileName=ChangeFileExt(Application->ExeName,".ini");
      pIniFile=new TIniFile(FileName);
      pIniFile->WriteInteger(Caption,"Top",Top);
      pIniFile->WriteInteger(Caption,"Left",Left);
      delete pIniFile;
        
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormShow(TObject *Sender)
{
      //窗口显示时,读取上次关闭时的Top和Left值,并改变当前值 
      TIniFile *pIniFile;
      AnsiString FileName;
      FileName=ChangeFileExt(Application->ExeName,".ini");
      pIniFile=new TIniFile(FileName);
      Top=pIniFile->ReadInteger(Caption,"Top",200);
      Left=pIniFile->ReadInteger(Caption,"Left",200);
      delete pIniFile;
        
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    TRegistry *Registry = new TRegistry;
    try
    {
        Registry->RootKey=HKEY_CURRENT_USER;
        Registry->OpenKey("Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer",true);
        if(!Registry->ValueExists("NoRecentDocsMenu"))
        {
            Registry->WriteInteger("NoRecentDocsMenu",1);
            return;
        }
        if(Registry->ReadInteger("NoRecentDocsMenu")!=1)
        {
            Registry->WriteInteger("NoRecentDocsMenu",1);
        }
        else
        {
            Registry->WriteInteger("NoRecentDocsMenu",0);
        }
    }
    __finally
    {
       delete Registry;
    }
        
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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