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

📄 mainform.cpp

📁 jvcl driver development envionment
💻 CPP
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "MainForm.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TfrmMain *frmMain;
//---------------------------------------------------------------------------
__fastcall TfrmMain::TfrmMain(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TfrmMain::DoButtonClick(TObject *Sender)
{
  Caption = Format("Button %s clicked", OPENARRAY(TVarRec, ( dynamic_cast<TJvCaptionButton *>(Sender)->Caption ) ) )  ;
}

void __fastcall TfrmMain::btnAddClick(TObject *Sender)
{
 TJvCaptionButton *B;
 AnsiString sAS;
 int uiBtnCount;
  B = new TJvCaptionButton(this);
  B->OnClick = DoButtonClick;
  B->Caption =  sAS.sprintf("%c", ('A' + FButtonCount));
  /* This part is a little different from original Delphi code example */
  uiBtnCount = lbButtons->Items->Count;
  if(uiBtnCount>=30)
  {
   uiBtnCount=30;
  }

  B->ButtonLeft = -15;
  B->ButtonLeft = B->ButtonLeft*uiBtnCount + B->ButtonWidth + 2;

  /*
     Here is supported 255 buttons only. When we add more buttons then
     UniqueName function will throw an exception. The exception is not
     solved here !!! Keep in your mind, it is an example only.
  */
  B->Name = UniqueName("JvCaptionButton");

  lbButtons->Items->AddObject(B->Caption,B);
  ++FButtonCount;

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


AnsiString __fastcall TfrmMain::UniqueName(const AnsiString BaseName)
{
 int i;
 AnsiString asResult;
  i = 1;
  asResult = BaseName + IntToStr(i);
  while( FindComponent(asResult) != NULL )
  {
    ++i;
    asResult = BaseName + IntToStr(i);
    if( i > 255 )
    {
      throw Exception("Unable to create unique name!");
    }  
  }
  return asResult;
}

void __fastcall TfrmMain::btnDeleteClick(TObject *Sender)
{
 int i;

  i = lbButtons->ItemIndex;
  if (i > -1)
  {
    delete  dynamic_cast<TJvCaptionButton *>(lbButtons->Items->Objects[i]);
    lbButtons->Items->Delete(i);
  }
  if( i >= lbButtons->Items->Count)
  {
    --i;
  }
  lbButtons->ItemIndex = i;
  if( lbButtons->Items->Count == 0 )
  {
    FButtonCount = 0;
  }

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

void __fastcall TfrmMain::btnRecreateWndClick(TObject *Sender)
{
  RecreateWnd();        
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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