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

📄 setup.cpp

📁 一个用C++Builder写的日记本程序
💻 CPP
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Setup.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TSetupForm *SetupForm;
//---------------------------------------------------------------------------
__fastcall TSetupForm::TSetupForm(TMainData *pMainData,TDM *pDatabase,TComponent* Owner)
    : TForm(Owner)
{
    m_pMainData = pMainData;
    m_pDatabase = pDatabase;
}
//---------------------------------------------------------------------------
void __fastcall TSetupForm::Button1Click(TObject *Sender)
{
    m_pMainData->m_pBackColor = PreviewPanel->Color;
    m_pMainData->m_pFontColor = PreviewPanel->Font->Color;
    m_pMainData->WriteConfigFile();
    ModalResult = mrOk;
    //Close();
}
//---------------------------------------------------------------------------
void __fastcall TSetupForm::Button2Click(TObject *Sender)
{
    ModalResult = mrCancel;
    //Close();
}
//---------------------------------------------------------------------------
void __fastcall TSetupForm::BackColorBoxChange(TObject *Sender)
{
    PreviewPanel->Color = BackColorBox->Selected;
}
//---------------------------------------------------------------------------
void __fastcall TSetupForm::FontColorBoxChange(TObject *Sender)
{
    PreviewPanel->Font->Color = FontColorBox->Selected;
}
//---------------------------------------------------------------------------

void __fastcall TSetupForm::UpdateButtonClick(TObject *Sender)
{
    //
    int     iIndex;
    try
    {
        iIndex = StrToInt(MsgGrid->Cells[0][m_iSelectRow]);
    }
    catch(...)
    {
        return;
    }

    int iFind;
    LPNOTEINFO pNoteInfo = m_pMainData->GetNoteInfoByNo(iIndex,iFind);
    if(pNoteInfo != NULL)
    {
        String szMsg = pNoteInfo->m_szNote;
        if(iFind > 0)
        {
            if(InputQuery("修改一条消息","修改消息",szMsg))
            {
                if(m_pDatabase->UpdateMsg(szMsg,pNoteInfo))
                {
                    //m_pMainData->UpdateNoteInfoByNo(iIndex,pNoteInfo);
                }
            }
            InitMessageGrid();
        }
    }
}
//---------------------------------------------------------------------------

void __fastcall TSetupForm::HideButtonClick(TObject *Sender)
{
    //
    int     iIndex;
    try
    {
        iIndex = StrToInt(MsgGrid->Cells[0][m_iSelectRow]);
    }
    catch(...)
    {
        return;
    }

    int iFind;
    LPNOTEINFO pNoteInfo = m_pMainData->GetNoteInfoByNo(iIndex,iFind);
    if((iFind > 0) && (pNoteInfo != NULL))
    {
        if(m_pDatabase->HideMsg(pNoteInfo,true) > 0)
        {
            m_pMainData->HideNoteInfoByNo(iIndex,true);
        }
        InitMessageGrid();
    }
}
//---------------------------------------------------------------------------

void __fastcall TSetupForm::InsertButtonClick(TObject *Sender)
{
    //
    String      szTmp;
    NOTEINFO    NoteInfo;

    if(InputQuery("添加一条消息","添加消息",szTmp))
    {
        NoteInfo.m_szNote = szTmp;
        if(m_pDatabase->InsertAMsg(&NoteInfo) > 0)
        {                                   
            m_pMainData->AddNoteInfo(NoteInfo);
            InitMessageGrid();
        }

    }
}
//---------------------------------------------------------------------------

void __fastcall TSetupForm::InitMessageGrid(void)
{
    //TODO: Add your source code here
    vecNoteInfoIt   vNoteInfoIt;

    MsgGrid->ColCount = 2;
    MsgGrid->Cells[1][0] = FormatDateTime("m'月'd'日'",m_pMainData->m_ConfigDay) + "消息列表";
    MsgGrid->ColWidths[0] = 0;
    MsgGrid->ColWidths[1] = MsgGrid->Width;
    MsgGrid->RowCount = 1;
    vNoteInfoIt = m_pMainData->m_vNoteInfo.begin();
    for(;vNoteInfoIt != m_pMainData->m_vNoteInfo.end();vNoteInfoIt++)
    {
        String szTmp;
        if((!m_pMainData->m_bShowHide) && (!(*vNoteInfoIt).m_bShow))
        {
            continue;
        }
        MsgGrid->RowCount = MsgGrid->RowCount + 1;
        MsgGrid->Cells[0][MsgGrid->RowCount - 1] = IntToStr((*vNoteInfoIt).m_iNoteNo);
        if((*vNoteInfoIt).m_bShow)
        {
            szTmp = "[显示] ";
        }
        else
        {
            szTmp = "[隐藏] ";
        }
        String szTmpMsg = (*vNoteInfoIt).m_szNote;
        if((*vNoteInfoIt).m_szNote.Length() > 60)
        {
            szTmp += szTmpMsg.SubString(0,60);
            szTmp += "...";
        }
        else
        {
            szTmp += szTmpMsg;
        }
        MsgGrid->Cells[1][MsgGrid->RowCount - 1] = szTmp;
    }
    m_iSelectRow = 1;
}
void __fastcall TSetupForm::MsgGridDrawCell(TObject *Sender, int ACol,
      int ARow, TRect &Rect, TGridDrawState State)
{
    //
    if(ARow == 0)
     {
        MsgGrid->Canvas->Brush->Color=(TColor)0x6699FF;
        MsgGrid->Canvas->FillRect(Rect);
        DrawText(MsgGrid->Canvas->Handle,MsgGrid->Cells[ACol][ARow].c_str(),-1,(RECT*)&Rect,
                   DT_SINGLELINE|DT_VCENTER|DT_CENTER);
     }
     if(ARow>0)
     {
        if(ARow % 2 == 0)
        {
            //
            MsgGrid->Canvas->Brush->Color=(TColor)RGB(169,176,79);
            MsgGrid->Canvas->FillRect(Rect);
        }
        else
        {
            //
            MsgGrid->Canvas->Brush->Color=(TColor)RGB(74,242,255);
            MsgGrid->Canvas->FillRect(Rect);
        }
        DrawText(MsgGrid->Canvas->Handle,MsgGrid->Cells[ACol][ARow].c_str(),-1,(RECT*)&Rect,
                   DT_SINGLELINE|DT_VCENTER|DT_LEFT);
     }
}
//---------------------------------------------------------------------------

void __fastcall TSetupForm::MsgGridSelectCell(TObject *Sender, int ACol,
      int ARow, bool &CanSelect)
{
    //
    CanSelect = true;
    m_iSelectRow = ARow;    
}
//---------------------------------------------------------------------------

void __fastcall TSetupForm::RadioButton1Click(TObject *Sender)
{
    //
    if(RadioButton1->Checked)
    {
        m_pMainData->m_bBigFont = false;
    }
    else
    {
        m_pMainData->m_bBigFont = true;
    }
}
//---------------------------------------------------------------------------

void __fastcall TSetupForm::RadioButton2Click(TObject *Sender)
{
    //
    if(RadioButton2->Checked)
    {
        m_pMainData->m_bBigFont = true;
    }
    else
    {
        m_pMainData->m_bBigFont = false;
    }
}
//---------------------------------------------------------------------------

void __fastcall TSetupForm::TrackBar1Change(TObject *Sender)
{
    //
    m_pMainData->m_iRate = TrackBar1->Position;
}
//---------------------------------------------------------------------------

void __fastcall TSetupForm::HideCheckBoxClick(TObject *Sender)
{
    //
    m_pMainData->m_bShowHide = HideCheckBox->Checked;
    InitMessageGrid();  
}
//---------------------------------------------------------------------------

void __fastcall TSetupForm::ShowButtonClick(TObject *Sender)
{
    //
    int     iIndex;
    try
    {
        iIndex = StrToInt(MsgGrid->Cells[0][m_iSelectRow]);
    }
    catch(...)
    {
        return;
    }

    int iFind;
    LPNOTEINFO pNoteInfo = m_pMainData->GetNoteInfoByNo(iIndex,iFind);
    if((iFind > 0) && (pNoteInfo != NULL))
    {
        if(m_pDatabase->HideMsg(pNoteInfo,false) > 0)
        {
            m_pMainData->HideNoteInfoByNo(iIndex,false);
        }
        InitMessageGrid();
    }
}
//---------------------------------------------------------------------------

void __fastcall TSetupForm::TabSheet1Show(TObject *Sender)
{
    HideCheckBox->Visible = true;
}
//---------------------------------------------------------------------------

void __fastcall TSetupForm::TabSheet1Hide(TObject *Sender)
{
    HideCheckBox->Visible = false;
}
//---------------------------------------------------------------------------

void __fastcall TSetupForm::BmpListViewCustomDrawItem(
      TCustomListView *Sender, TListItem *Item, TCustomDrawState State,
      bool &DefaultDraw)
{
    //    
}
//---------------------------------------------------------------------------


void __fastcall TSetupForm::TabSheet3Hide(TObject *Sender)
{
    //    
}
//---------------------------------------------------------------------------

void __fastcall TSetupForm::TabSheet3Show(TObject *Sender)
{
    //
}
//---------------------------------------------------------------------------

void __fastcall TSetupForm::FormCreate(TObject *Sender)
{
    //
    BackColorBox->Selected = m_pMainData->m_pBackColor;
    FontColorBox->Selected = m_pMainData->m_pFontColor;

    PreviewPanel->Color = BackColorBox->Selected;
    PreviewPanel->Font->Color = FontColorBox->Selected;
    this->PageControl1->ActivePage = this->TabSheet1;
    InitMessageGrid();

    TrackBar1->Position = m_pMainData->m_iRate;
    if(m_pMainData->m_bBigFont)
    {
        RadioButton2->Checked = true;
    }
    else
    {
        RadioButton1->Checked = true;
    }

    HideCheckBox->Checked = m_pMainData->m_bShowHide;
    
    this->TabSheet3->TabVisible = false;
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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