mainform.cpp

来自「C++ BUILDER精彩编程实例集锦(源码) 第一部分 界面设计 第二部分」· C++ 代码 · 共 48 行

CPP
48
字号
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Mainform.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::OnResize(TObject *Sender)
{
    int ixPos=Width/2;
    int iyPos=Height/2;
    this->BitBtn1->Left=ixPos-BitBtn1->Width/2;
    this->BitBtn1->Top=iyPos-BitBtn1->Height/2-30;
}
//--------------------------------------------------------------------------- 
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
  TCanvas *dtCanvas = new TCanvas;
  dtCanvas->Handle=GetDC(0);
  Graphics::TBitmap *bitmap=new Graphics::TBitmap;
  bitmap->Width=Width;
  bitmap->Height=Height;
  int nColors=GetDeviceCaps(Canvas->Handle,SIZEPALETTE);
  LOGPALETTE* logPal=(LOGPALETTE*)new Byte[sizeof(LOGPALETTE)+(nColors-1)*sizeof(PALETTEENTRY)];
  logPal->palVersion=0x300;
  logPal->palNumEntries=(Word)nColors;
  GetSystemPaletteEntries(Canvas->Handle,0,nColors,logPal->palPalEntry);
  bitmap->Palette=CreatePalette(logPal);
   delete[] logPal;
  TRect src=BoundsRect;
  TRect dest=Rect(0,0,Width,Height);
  bitmap->Canvas->CopyRect(dest,dtCanvas,src);
  this->Image1->Picture->Bitmap=bitmap;
  delete bitmap;
  delete dtCanvas;
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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