/*[]=====================================================================[]*/ /*[] LeadTools C++ Class Library - Version 1.0 []*/ /*[] []*/ /*[] []*/ /*[] Copyright (c) 1991-2000 LEAD Technologies, Inc. []*/ /*[] All Rights Reserved. []*/ /*[]=====================================================================[]*/ //include files #include "AnnBmp.h" #include #pragma hdrstop #include "Main.h" #include "About.h" #pragma resource "*.dfm" TMainForm *MainForm; //--------------------------------------------------------------------- __fastcall TMainForm::TMainForm(TComponent *Owner) : TForm(Owner) { m_bWangcompatibilitymode=FALSE; } //--------------------------------------------------------------------- void __fastcall TMainForm::FormCreate(TObject *Sender) { Application->OnHint=ShowHint; LDialogBase::Initialize(DLG_INIT_COLOR); } //--------------------------------------------------------------------- void __fastcall TMainForm::FormDestroy(TObject *Sender) { Application->OnHint=0; LDialogBase::Free(); } //--------------------------------------------------------------------- void __fastcall TMainForm::ShowHint(TObject *Sender) { TMDIChild* pActiveMDIChild=(TMDIChild*)ActiveMDIChild; L_CHAR szBuffer[50]; L_UINT uTemp; if(pActiveMDIChild&&((Application->Hint=="MDIChild")||(Application->Hint==""))) { StatusBar->SimplePanel=FALSE; //File Name StatusBar->Panels->Items[0]->Text=pActiveMDIChild->AnnBtmp.File()->GetFileName(); //W x H, Color Order memset(szBuffer,0,sizeof(szBuffer)); uTemp=(L_UINT)pActiveMDIChild->AnnBtmp.GetViewPerspective(); wsprintf( szBuffer,"%d X %d, %s", pActiveMDIChild->AnnBtmp.GetWidth(), pActiveMDIChild->AnnBtmp.GetHeight(), (LPSTR)(uTemp==TOP_LEFT ? "TOP_LEFT" : uTemp==TOP_RIGHT ? "TOP_RIGHT" : uTemp==BOTTOM_RIGHT ? "BOTTOM_RIGHT" : uTemp==TOP_LEFT90 ? "TOP_LEFT90" : uTemp==TOP_LEFT270 ? "TOP_LEFT270" : "BOTTOM_LEFT") ); StatusBar->Panels->Items[1]->Text=szBuffer; //BPP memset(szBuffer,0,sizeof(szBuffer)); wsprintf(szBuffer,"%d BPP",pActiveMDIChild->AnnBtmp.GetBitsPerPixel()); StatusBar->Panels->Items[2]->Text=szBuffer; //Zoom memset(szBuffer,0,sizeof(szBuffer)); uTemp=pActiveMDIChild->AnnBtmp.GetZoomMode(); switch(uTemp) { case ZOOM_NORMAL: wsprintf(szBuffer,"Normal Size"); break ; case ZOOM_FIT: wsprintf(szBuffer,"Fit To Window"); break ; default: wsprintf(szBuffer,"%u%%",pActiveMDIChild->AnnBtmp.GetZoomPercent()); break; } StatusBar->Panels->Items[3]->Text=szBuffer; //Mem Size memset(szBuffer,0,sizeof(szBuffer)) ; wsprintf(szBuffer,"%lu bytes, MEMORY",pActiveMDIChild->AnnBtmp.GetMemSize()); StatusBar->Panels->Items[4]->Text=szBuffer; //Caps Lock Key StatusBar->Panels->Items[5]->Text=(::GetKeyState(VK_CAPITAL)&0x01)? "CAPS":""; //Inser Key StatusBar->Panels->Items[6]->Text=(::GetKeyState(VK_INSERT) &0x01)? "INS":""; //Num Lock Key StatusBar->Panels->Items[7]->Text=(::GetKeyState(VK_NUMLOCK)&0x01)? "NUM":""; } else { StatusBar->SimplePanel=TRUE; StatusBar->SimpleText=Application->Hint; } } //--------------------------------------------------------------------- void __fastcall TMainForm::CreateMDIChild(String Name,L_BOOL bUseClipboard) { LFile File; FILEINFO fInfo; if(bUseClipboard) new TMDIChild(Application,Name); else { File.SetFileName((LPSTR)Name.c_str()); if(File.GetInfo(&fInfo,sizeof(fInfo))==SUCCESS) new TMDIChild(Application,Name); } } //--------------------------------------------------------------------- void __fastcall TMainForm::WndProc(Messages::TMessage &Message) { TMDIChild* pActiveMDIChild=(TMDIChild*)ActiveMDIChild; if(pActiveMDIChild) switch(Message.Msg) { case WM_LTANNEVENT: switch(Message.WParam) { case LTANNEVENT_TOOLCHECKED: pActiveMDIChild->AnnBtmp.ToolChecked((L_UINT)Message.LParam); break; case LTANNEVENT_TOOLDESTROY: pActiveMDIChild->m_bAnnToolbarVisible=FALSE; break; } return; } TForm::WndProc(Message); } //--------------------------------------------------------------------------- //-----------Main Menu Handlers---------------------------------------------- //--------------------------------------------------------------------------- void __fastcall TMainForm::FileOpenItemClick(TObject *Sender) { char szTemp[260]; OPENFILENAME OpenFileName; LDialogFile LeadDialog; memset ( &m_FOParm, 0, sizeof(OPENDLGPARAMS)) ; memset ( &OpenFileName, 0, sizeof(OPENFILENAME)) ; OpenFileName.lStructSize = sizeof(OPENFILENAME); OpenFileName.lpstrInitialDir = NULL; OpenFileName.Flags = OFN_EXPLORER; m_FOParm.uStructSize = sizeof(OPENDLGPARAMS); m_FOParm.uDlgFlags = DLG_OPEN_ENABLESIZING | DLG_OPEN_SHOW_PROGRESSIVE | DLG_OPEN_USEFILESTAMP | DLG_OPEN_SHOW_MULTIPAGE | DLG_OPEN_SHOW_LOADROTATED | DLG_OPEN_SHOW_LOADCOMPRESSED | DLG_OPEN_SHOW_DELPAGE | DLG_OPEN_SHOW_LOADOPTIONS | DLG_OPEN_SHOW_FILEINFO | DLG_OPEN_SHOW_PDFOPTIONS | DLG_OPEN_SHOW_RASTEROPTIONS | DLG_OPEN_SHOW_VECTOROPTIONS | DLG_OPEN_VIEWTOTALPAGES ; m_FOParm.bPreviewEnabled = TRUE; LeadDialog.SetOpenParams(&m_FOParm) ; LeadDialog.EnablePreview(true); LeadDialog.SetOpenFileName(&OpenFileName) ; LeadDialog.EnableCallBack(FALSE); L_INT nRetCode = LeadDialog.DoModalOpen(Handle); if(nRetCode==SUCCESS_DLG_OK) { LeadDialog.GetOpenParams(&m_FOParm,sizeof(m_FOParm)); LeadDialog.GetFileName(szTemp,sizeof(szTemp)); CreateMDIChild(szTemp,FALSE); } } //--------------------------------------------------------------------- void __fastcall TMainForm::FileExitItemClick(TObject *Sender) { Close(); } //--------------------------------------------------------------------- void __fastcall TMainForm::PasteItemClick(TObject *Sender) { CreateMDIChild("Clipboard Image",TRUE); } //--------------------------------------------------------------------------- void __fastcall TMainForm::HelpAboutItemClick(TObject *Sender) { AboutBox->ShowModal(); } //--------------------------------------------------------------------------- void __fastcall TMainForm::Edit1Click(TObject *Sender) { PasteItem->Enabled=(L_CLIPBOARDREADY()==SUCCESS); } //--------------------------------------------------------------------------- void __fastcall TMainForm::Toolbar1Click(TObject *Sender) { SpeedPanel->Visible=!SpeedPanel->Visible; } //--------------------------------------------------------------------------- void __fastcall TMainForm::Statusbar1Click(TObject *Sender) { StatusBar->Visible=!StatusBar->Visible; } //--------------------------------------------------------------------------- void __fastcall TMainForm::View1Click(TObject *Sender) { Toolbar1->Checked=SpeedPanel->Visible; Statusbar1->Checked=StatusBar->Visible; } //--------------------------------------------------------------------------- void __fastcall TMainForm::Wangcompatibilitymode1Click(TObject *Sender) { Wangcompatibilitymode1->Checked=!m_bWangcompatibilitymode; m_bWangcompatibilitymode=!m_bWangcompatibilitymode; } //---------------------------------------------------------------------------