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

📄 unit3.~cpp

📁 这个一个对图片的浏览
💻 ~CPP
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include "Unit3.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm3 *Form3;
//---------------------------------------------------------------------------
__fastcall TForm3::TForm3(TComponent* Owner)
        : TForm(Owner)
{
        //QuickRep1->Top = 2000;
}
//---------------------------------------------------------------------------

void __fastcall TForm3::Button1Click(TObject *Sender)
{
        Table1->First();
        GetMirrorBMP();

        m_nCurrentPage = 1;
        SetCaption();

        Button1->Enabled = false;
        Button2->Enabled = false;
        Button3->Enabled = true;
        Button4->Enabled = true;

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

void __fastcall TForm3::Button2Click(TObject *Sender)
{
     if(m_nCurrentPage < m_nPageCount)
                GetMirrorBMP();

        m_nCurrentPage++;
        SetCaption();

        Button1->Enabled = true;
        Button2->Enabled = true;
        if(m_nCurrentPage == m_nPageCount)
        {
                Button3->Enabled = false;
                Button4->Enabled = false;
        }   
}
//---------------------------------------------------------------------------
void __fastcall TForm3::Button3Click(TObject *Sender)
{
       if (m_nCurrentPage < m_nPageCount)
             GetMirrorBMP();

        m_nCurrentPage++;
        SetCaption();

        Button1->Enabled = true;
        Button2->Enabled = true;
        if(m_nCurrentPage == m_nPageCount)
        {
                Button3->Enabled = false;
                Button4->Enabled = false;
        }
}
//---------------------------------------------------------------------------
void __fastcall TForm3::Button4Click(TObject *Sender)
{
        Table1->First();
        Table1->MoveBy((m_nPageCount-1)*2);
        GetMirrorBMP();

        m_nCurrentPage = m_nPageCount;
        SetCaption();

        Button1->Enabled = true;
        Button2->Enabled = true;
        Button3->Enabled = false;
        Button4->Enabled = false;    
}
//---------------------------------------------------------------------------
void __fastcall TForm3::Button6Click(TObject *Sender)
{
     Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm3::FormShow(TObject *Sender)
{
        Table1->Active = true;

        long nRecordCount = Table1->RecordCount;
        m_nPageCount = nRecordCount/2;
        if((nRecordCount%2)!=0) m_nPageCount++;
        m_nCurrentPage = 1;
        Table1->First();
        GetMirrorBMP();
        SetCaption();
        Button1->Enabled = false;
        Button2->Enabled = false;
}
//---------------------------------------------------------------------------
 void __fastcall TForm3::GetMirrorBMP()
{
        for(long i=0;i<2;i++)
        {
                Graphics::TBitmap *pBitmap = new Graphics::TBitmap();
                Graphics::TBitmap *pImageBitmap = new Graphics::TBitmap();

                pBitmap->Width = 415;
                pBitmap->Height = 185;
                pImageBitmap->Width = 415;
                pImageBitmap->Height = 185;
                                            //获得文字信息
                pBitmap->Canvas->TextOutA(35,25,"    NAME:");
                pBitmap->Canvas->TextOutA(35,70,"      SIZE:");
                pBitmap->Canvas->TextOutA(35,115,"WEIGHT:");
                pBitmap->Canvas->TextOutA(35,150,"     AREA:");
                pBitmap->Canvas->TextOutA(90,25,Table1->Fields->Fields[0]->AsString);
                pBitmap->Canvas->TextOutA(90,70,Table1->Fields->Fields[1]->AsString);
                pBitmap->Canvas->TextOutA(90,115,Table1->Fields->Fields[2]->AsString);
                pBitmap->Canvas->TextOutA(90,150,Table1->Fields->Fields[3]->AsString);
                                         //获得图片信息
                Graphics::TBitmap *pDBBitmap = new Graphics::TBitmap();
                pDBBitmap->Assign(Table1->Fields->Fields[4]);
                RECT rtBmp = Rect(pBitmap->Width/2+35,25,pBitmap->Width-35,160);
                pBitmap->Canvas->StretchDraw(rtBmp,pDBBitmap);
                delete pDBBitmap;
                                //镜像

                RECT rtDest = Rect(0,0,pBitmap->Width,pBitmap->Height);
                RECT rtSource = Rect(pBitmap->Width,0,0,pBitmap->Height);
                pImageBitmap->Canvas->CopyRect(rtDest,pBitmap->Canvas,rtSource);
                       //显示记录,并将记录的坐标计算出来
                RECT rt = Rect((QRImage1->Width - pImageBitmap->Width)/2,
                        (pImageBitmap->Height)*i,
                        (QRImage1->Width - pImageBitmap->Width)/2 + pImageBitmap->Width,
                        (pImageBitmap->Height)*(i + 1));
                QRImage1->Canvas->StretchDraw(rt,pImageBitmap);
                
                long nWidth = pImageBitmap->Width;
                long nHeight = pImageBitmap->Height;
                long nLeft = (QRImage1->Width - pImageBitmap->Width)/2;
                long nTop = (pImageBitmap->Height)*(i + 1);
                long nRight = (QRImage1->Width - pImageBitmap->Width)/2 + pImageBitmap->Width;
                long nBottom = (pImageBitmap->Height)*(i + 2);
                
                delete pImageBitmap;
                delete pBitmap;
                
                Table1->Next();
                if(Table1->Eof)
                {
                        Graphics::TBitmap *pTempBitmap = new Graphics::TBitmap();
                        pTempBitmap->Width = nWidth;
                        pTempBitmap->Height = nHeight;
                        RECT rt = Rect(nLeft,nTop,nRight,nBottom);
                        QRImage1->Canvas->StretchDraw(rt,pTempBitmap);
                        delete pTempBitmap;
                        break;
                }
        }
}

//---------------------------------------------------------------------------
void __fastcall TForm3::FormClose(TObject *Sender, TCloseAction &Action)
{
  Table1->Active = false;
}
//---------------------------------------------------------------------------
void __fastcall TForm3::Button5Click(TObject *Sender)
{
  // PrinterSetupDialog1->Execute();
}
//---------------------------------------------------------------------------

void __fastcall TForm3::Button7Click(TObject *Sender)
{
   //PrintDialog1->Execute();
   this->QuickRep1->Preview();
   //this->QuickRep1->Print();
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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