QQView.cpp
资源名称:酒店管理系统源代码.rar [点击查看]
上传用户:czfddz
上传日期:2013-03-20
资源大小:1517k
文件大小:24k
源码类别:
酒店行业
开发平台:
C/C++
- // QQView.cpp : implementation of the CQQView class
- //
- #include "stdafx.h"
- #include "QQ.h"
- #include "QQDoc.h"
- #include "QQView.h"
- #ifdef _DEBUG
- #define new DEBUG_NEW
- #undef THIS_FILE
- static char THIS_FILE[] = __FILE__;
- #endif
- //////////////////////////////////////////////////////////////////////////
- #include "RoomRegister.h" //登记头文件
- #include "ChooseRoom.h" //选房头文件
- #include "ChooseFood.h" //选食物头文件
- #include "ChooseServer.h" //服务点单头文件
- #include "MoneyPay.h" //支付帐单头文件
- #include "Checkout.h" //结帐走人头文件
- #include "GuestInfoLookup.h" //客人信息查询对话框头文件
- #include "RoomInfoLookup.h" //房间信息查询对话框头文件
- #include "BillInfoLookup.h" //帐单信息查询对话框头文件
- #include "EmployerInfoLookup.h"//职员信息查询对话框头文件
- #include "Tools.h"
- #include "page3.h"
- #include "MainFrm.h"
- #include "HotelInfoShow.h"//酒店概况显示对话框
- #include "RoomDestine.h" //房间预定头文件
- /////////////////////////////////////////////////////////////////////////////
- // CQQView
- IMPLEMENT_DYNCREATE(CQQView, CView)
- BEGIN_MESSAGE_MAP(CQQView, CView)
- //{{AFX_MSG_MAP(CQQView)
- ON_COMMAND(ID_ROOM_REGISTER, OnRoomRegister)
- ON_COMMAND(ID_ROOM_CHOOSE, OnRoomChoose)
- ON_COMMAND(ID_FOOD_ORDER, OnFoodOrder)
- ON_COMMAND(ID_SERVER_ORDER, OnServerOrder)
- ON_COMMAND(ID_MONEY_CHECKOUT, OnMoneyCheckout)
- ON_COMMAND(ID_MONEY_STOCK, OnMoneyStock)
- ON_COMMAND(ID_MONEY_REPORTFORM, OnMoneyReportform)
- ON_COMMAND(ID_INFOLOOK_GUEST, OnInfolookGuest)
- ON_COMMAND(ID_INFOLOOK_BILL, OnInfolookBill)
- ON_COMMAND(ID_INFOLOOK_EMPLOYER, OnInfolookEmployer)
- ON_COMMAND(ID_INFOLOOK_FOOD, OnInfolookFood)
- ON_COMMAND(ID_INFOLOOK_ROOM, OnInfolookRoom)
- ON_COMMAND(ID_INFOLOOK_SERVER, OnInfolookServer)
- ON_COMMAND(ID_INFOLOOK_CONSUME, OnInfolookConsume)
- ON_WM_TIMER()
- ON_WM_ERASEBKGND()
- ON_COMMAND(ID_MONEY_PAY, OnMoneyPay)
- ON_WM_CREATE()
- ON_WM_LBUTTONDOWN()
- ON_COMMAND(ID_ROOM_DESTINE, OnRoomDestine)
- //}}AFX_MSG_MAP
- // Standard printing commands
- ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)
- ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint)
- ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview)
- END_MESSAGE_MAP()
- /////////////////////////////////////////////////////////////////////////////
- // CQQView construction/destruction
- HBITMAP CQQView::m_CurScreenBitmap=NULL;
- BOOL CQQView::bFirstRun=TRUE;
- int CQQView::nImgTypeInView=-1;//普通图像类型
- CPoint CQQView::pnt=CPoint(0,0);
- CQQView::CQQView()
- {
- // TODO: add construction code here
- //赋初值
- strShowText="";
- bFinish=false;
- bFirst=true;
- InitStructData();
- }
- CQQView::~CQQView()
- {
- m_List.RemoveAll();
- }
- CQQView * CQQView::GetView()
- {//静态成员函数
- CFrameWnd * pFrame = (CFrameWnd *)(AfxGetApp()->m_pMainWnd);
- CView * pView = pFrame->GetActiveView();
- if ( !pView )
- return NULL;
- // Fail if view is of wrong kind
- // (this could occur with splitter windows, or additional
- // views on a single document
- if ( ! pView->IsKindOf( RUNTIME_CLASS(CQQView) ) )
- return NULL;
- return (CQQView*) pView;
- }
- BOOL CQQView::PreCreateWindow(CREATESTRUCT& cs)
- {
- // TODO: Modify the Window class or styles here by modifying
- // the CREATESTRUCT cs
- return CView::PreCreateWindow(cs);
- }
- /////////////////////////////////////////////////////////////////////////////
- // CQQView drawing
- void CQQView::OnDraw(CDC* pDC)
- {
- CQQDoc* pDoc = GetDocument();
- ASSERT_VALID(pDoc);
- // TODO: add draw code for native data here
- LoadbgroundBitmap(pDC);//画背景
- if(bFirstRun)
- {
- nImgTypeInView=0;
- LoadWelocmeBmp(pDC);
- bFirstRun=FALSE;
- }
- if(page3.bDrawTreeImage)
- {
- page3.DrawTreeImage(pDC,CPoint(50,0));
- page3.bDrawTreeImage=FALSE;
- }
- if(page3.bDrawFrameImage)
- {
- page3.DrawFrameImg(pDC,CRect(page3.xStart,page3.yStart,page3.xStart+350,page3.yStart+200));
- page3.bDrawFrameImage=FALSE;
- }
- }
- /////////////////////////////////////////////////////////////////////////////
- // CQQView printing
- BOOL CQQView::OnPreparePrinting(CPrintInfo* pInfo)
- {
- // default preparation
- return DoPreparePrinting(pInfo);
- }
- void CQQView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
- {
- // TODO: add extra initialization before printing
- }
- void CQQView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
- {
- // TODO: add cleanup after printing
- }
- /////////////////////////////////////////////////////////////////////////////
- // CQQView diagnostics
- #ifdef _DEBUG
- void CQQView::AssertValid() const
- {
- CView::AssertValid();
- }
- void CQQView::Dump(CDumpContext& dc) const
- {
- CView::Dump(dc);
- }
- CQQDoc* CQQView::GetDocument() // non-debug version is inline
- {
- ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CQQDoc)));
- return (CQQDoc*)m_pDocument;
- }
- #endif //_DEBUG
- /////////////////////////////////////////////////////////////////////////////
- // CQQView message handlers
- //加载背景图
- void CQQView::LoadbgroundBitmap(CDC *pDC)
- {//加载视的背景图
- CBitmap bitmap;
- bitmap.LoadBitmap(IDB_BKBMP);
- CDC m;
- m.CreateCompatibleDC(pDC);//创建一个于pDC兼容的DC
- m.SelectObject(&bitmap);
- CRect rect;
- this->GetClientRect(&rect);
- pDC->BitBlt(0,0,rect.Width(),rect.Height(),&m,0,0,SRCCOPY);
- m.DeleteDC();
- }
- void CQQView::LoadWelocmeBmp(CDC* pDC)
- {//加载启动时的欢迎图像
- CBitmap bitmap;
- bitmap.LoadBitmap(IDB_HOTELTEXT);
- CDC m;
- m.CreateCompatibleDC(pDC);//创建一个于pDC兼容的DC
- m.SelectObject(&bitmap);
- CRect rect;
- this->GetClientRect(&rect);
- //// long nStartX=rect.left;
- // long nStartY=rect.bottom-280;
- long nStartX=rect.left+rect.Width()/10;
- long nStartY=rect.top+rect.Height()/10;
- BITMAP m_bitmap;//定义位图结构体来保存位图信息
- bitmap.GetBitmap(&m_bitmap);//得到位图结构体,记录了位图的信息
- long nWidth=m_bitmap.bmWidth;//位图宽度
- long nHeight=m_bitmap.bmHeight;//位图高度
- pDC->BitBlt(nStartX,nStartY,nWidth,nHeight,&m,0,0,SRCCOPY);
- m.DeleteDC();
- }
- void CQQView::SetBitmapText(CPoint pnt,CDC*pDC, CString strText)
- {//显示带有图像和文字的字符串
- CBitmap bitmap;
- bitmap.LoadBitmap(IDB_TEXT);
- CDC m;
- m.CreateCompatibleDC(pDC);
- m.SelectObject(&bitmap);
- pDC->SetBkMode(TRANSPARENT);//设置背景模式
- pDC->BitBlt(pnt.x,pnt.y,9,9,&m,0,0,SRCCOPY);//拷贝图像
- pDC->TextOut(pnt.x+15,pnt.y-5,strText);//输出文本
- }
- //###################################################################
- /////////////////////信息管理模块
- /////////////////////////////////////////////////////////////////////
- void CQQView::OnRoomRegister()
- {
- // TODO: Add your command handler code here
- nImgTypeInView=-1;//背景图
- bFirstRun=FALSE;
- CGuestRegister guestreg;
- guestreg.DoModal();//登记对话框
- }
- void CQQView::OnRoomChoose()
- {
- // TODO: Add your command handler code here
- nImgTypeInView=-1;//背景图
- bFirstRun=FALSE;
- CChooseRoom chooseroom;
- chooseroom.DoModal();
- }
- void CQQView::OnRoomDestine()
- {//房间预定
- // TODO: Add your command handler code here
- bFirstRun=FALSE;
- CRoomDestine RoomDestine;
- RoomDestine.DoModal();
- }
- void CQQView::OnFoodOrder()
- {
- // TODO: Add your command handler code here
- nImgTypeInView=-1;//背景图
- bFirstRun=FALSE;
- CChooseFood choosefood;
- choosefood.DoModal();
- }
- void CQQView::OnServerOrder()
- {
- // TODO: Add your command handler code here
- nImgTypeInView=-1;//背景图
- bFirstRun=FALSE;
- CChooseServer chooseserver;
- chooseserver.DoModal();
- }
- void CQQView::OnMoneyCheckout()
- {//结帐走人
- // TODO: Add your command handler code here
- nImgTypeInView=-1;//背景图
- bFirstRun=FALSE;
- CCheckOut checkout;
- checkout.DoModal();
- }
- void CQQView::OnMoneyStock()
- {
- // TODO: Add your command handler code here
- nImgTypeInView=-1;//背景图
- bFirstRun=FALSE;
- }
- void CQQView::OnMoneyReportform()
- {
- // TODO: Add your command handler code here
- nImgTypeInView=-1;//背景图
- bFirstRun=FALSE;
- }
- void CQQView::OnMoneyPay()
- {//支付某个帐单的款项
- // TODO: Add your command handler code here
- nImgTypeInView=-1;//背景图
- bFirstRun=FALSE;
- CMoneyPay moneypay;
- moneypay.DoModal();
- }
- /////////////////////////////////////////////////////////////////////
- //###################################################################
- ////////////////////////////信息查询模块
- //////////////////////////////////////////////////////////////////////
- void CQQView::OnInfolookGuest()
- {
- // TODO: Add your command handler code her
- bFirstRun=FALSE;
- this->Invalidate();
- this->UpdateData(TRUE);
- CDC*pDC=GetDC();
- CRect rect;
- GetClientRect(&rect);
- pDC->FillSolidRect(rect,pDC->GetBkColor());
- LoadbgroundBitmap(pDC);//画背景
- guestinfolookup.DoModal();//模态显示对话框
- //////////////////////////////////////////////////////////////////////
- //////设置每行要显示的文本
- CString strlineText[12];//行文本对象
- strlineText[0]="客人的手牌号码(HandCode)是: ";
- strlineText[0]=strlineText[0]+guestinfolookup.HandCode;//设置显示文本
- strlineText[1]="客人的名字是(Name): ";
- strlineText[1]=strlineText[1]+guestinfolookup.Name;//name
- strlineText[2]="客人的类型(GuestType): ";
- strlineText[2]=strlineText[2]+guestinfolookup.GuestType+" ";//gueatype
- strlineText[3]="客人性别(Sex): ";
- strlineText[3]=strlineText[3]+guestinfolookup.Sex;//sex
- strlineText[4]="客人登记时使用的证件类型(Cerificate): ";
- strlineText[4]=strlineText[4]+guestinfolookup.Certificate;//Certificate
- strlineText[5]="客人登记的证件号码是(CertifyCode): ";
- strlineText[5]=strlineText[5]+guestinfolookup.CertifyCode;//CertifyCode
- strlineText[6]="客人是否为团队成员(IsMember): ";
- if(guestinfolookup.IsMember){strlineText[6]=strlineText[6]+"是";}
- else{strlineText[6]=strlineText[6]+"否";}//ismember
- strlineText[7]="客人是否为团队客人的主客(IsMaster): ";
- if(guestinfolookup.IsMaster){strlineText[7]=strlineText[7]+"是";}
- else{strlineText[7]=strlineText[7]+"否";}//ismaster
- strlineText[8]="客人所在团队编号(GroupID): ";
- strlineText[8]=strlineText[8]+guestinfolookup.GroupID;
- strlineText[9]="客人所在团队的客人数目(GuestNum): ";CString str;str.Format("%d",guestinfolookup.GuestNum);
- strlineText[9]=strlineText[9]+str;
- strlineText[10]="团队的房间数目(RoomNum): ";
- strlineText[10]=strlineText[10]+guestinfolookup.RoomNum;
- strlineText[11]="客人所在房间的号码(RoomCode): ";
- strlineText[11]=strlineText[11]+guestinfolookup.RoomCode;
- int nWidth=rect.Width();
- int nHeight=rect.Height();
- CPoint potstart;
- potstart.x=rect.left+nWidth/10;
- potstart.y=rect.top+nHeight/10;
- if(guestinfolookup.bSuccess)//查询数据库成功则进行操作
- {
- pDC->SetBkMode(TRANSPARENT);//设置背景模式
- for(int i=0;i<12;i++)
- {
- pDC->SetBkMode(TRANSPARENT);
- SetBitmapText(potstart.x,potstart.y+20*i,pDC,strlineText[i]);
- }
- }
- //////////////////////////////////////////////////////////////////////
- ClientToScreen(&rect);//将客户区域转变成屏幕坐标
- m_CurScreenBitmap=::GetScreenBitmap(&rect);
- nImgTypeInView=0;//文字背景图
- }
- void CQQView::OnInfolookBill()
- {
- // TODO: Add your command handler code here
- bFirstRun=FALSE;
- this->Invalidate();
- this->UpdateData(TRUE);
- CDC*pDC=GetDC();
- CRect rect;
- GetClientRect(&rect);//得到客户区域
- pDC->FillSolidRect(rect,pDC->GetBkColor());
- LoadbgroundBitmap(pDC);//画背景
- CBillInfoLookup billinfolookup;
- billinfolookup.DoModal();
- ///////////////////////////////////////////////////////////////
- /////////////////显示查询文本
- ///////////////////////////////////////////////////////////////
- CString line[6];
- line[0]="帐单号: ";
- line[0]=line[0]+billinfolookup.BillCode;
- line[1]="客人手牌号码: ";
- line[1]=line[1]+billinfolookup.HandCode;
- line[2]="应付总金额: ";CString str;str.Format("%d",billinfolookup.Sum);
- line[2]=line[2]+str;
- line[3]="实付金额: ";str.Format("%d",billinfolookup.Paid);
- line[3]=line[3]+str;
- line[4]="折扣率: ";
- line[4]=line[4]+billinfolookup.Rebate;
- line[5]="是/否已经付款: ";
- if(billinfolookup.Striked)
- {
- line[5]=line[5]+"是";
- }
- else{ line[5]=line[5]+"否";}
- ////////////showtext////////////////////
- int nWidth=rect.Width();
- int nHeight=rect.Height();
- CPoint potstart;
- potstart.x=rect.left+nWidth/10;
- potstart.y=rect.top+nHeight/10;
- if(billinfolookup.bSuccess)//查询数据库成功则进行操作
- {
- pDC->SetBkMode(TRANSPARENT);//设置背景模式
- for(int i=0;i<6;i++)
- {
- SetBitmapText(potstart.x,potstart.y+20*i,pDC,line[i]);
- }
- }
- ///////////////////////////over/////////////////////////
- ClientToScreen(&rect);//将客户区域转变成屏幕坐标
- m_CurScreenBitmap=::GetScreenBitmap(&rect);
- nImgTypeInView=0;//文字背景图
- }
- void CQQView::OnInfolookEmployer()
- {
- // TODO: Add your command handler code here
- bFirstRun=FALSE;
- this->Invalidate();
- this->UpdateData(TRUE);
- CDC*pDC=GetDC();
- CRect rect;
- GetClientRect(&rect);
- pDC->FillSolidRect(rect,pDC->GetBkColor());
- LoadbgroundBitmap(pDC);//画背景
- CEmployerInfoLookup employerinfolookup;
- employerinfolookup.DoModal();
- ///////////////////show text/////////////////////
- CString line[3];
- line[0]="员工编号: ";
- line[0]=line[0]+employerinfolookup.EmployerCode;
- line[1]="名字: ";
- line[1]=line[1]+employerinfolookup.Name;
- line[2]="所属部门: ";
- line[2]=line[2]+employerinfolookup.Depart;
- //////show text
- int nWidth=rect.Width();
- int nHeight=rect.Height();
- CPoint potstart;
- potstart.x=rect.left+nWidth/10;
- potstart.y=rect.top+nHeight/10;
- if(employerinfolookup.bSuccess)//查询数据库成功则进行操作
- {
- pDC->SetBkMode(TRANSPARENT);//设置背景模式
- for(int i=0;i<3;i++)
- {
- SetBitmapText(potstart.x,potstart.y+20*i,pDC,line[i]);
- }
- }//over
- //////////////////////////////////////////////////////////////////////////
- ClientToScreen(&rect);//将客户区域转变成屏幕坐标
- m_CurScreenBitmap=::GetScreenBitmap(&rect);//抓取当前客户区图像,为改变
- //改变主框架大小时调用
- nImgTypeInView=0;//文字背景图
- }
- void CQQView::OnInfolookFood()
- {
- // TODO: Add your command handler code here
- bFirstRun=FALSE;
- this->UpdateData(TRUE);
- CDC*pDC=GetDC();
- CRect rect;
- GetClientRect(&rect);
- pDC->FillSolidRect(rect,pDC->GetBkColor());
- // pDC->SetBkMode(TRANSPARENT);
- LoadbgroundBitmap(pDC);//画背景
- int nWidth=rect.Width();
- int nHeight=rect.Height();
- CPoint potstart;
- potstart.x=rect.left+nWidth/10;
- potstart.y=rect.top+nHeight/10;
- //////////////////////////////////////////////
- CFoodInfoSet m_FoodInfoSet;
- if(!m_FoodInfoSet.Open(AFX_DB_USE_DEFAULT_TYPE))
- {
- MessageBox("连接数据库失败或数据库为空!","数据库错误",MB_OK);
- return ;
- }
- m_FoodInfoSet.MoveFirst();//to the first
- int i=0;
- while(!m_FoodInfoSet.IsEOF())
- {
- CString foodname,foodprice,strShowText;
- foodname=m_FoodInfoSet.m_FoodName;
- foodprice.Format("%5.0f",m_FoodInfoSet.m_FoodPrice);
- strShowText=foodname+": "+ foodprice;
- pDC->SetBkMode(TRANSPARENT);//设置背景模式
- SetBitmapText(potstart.x,potstart.y+20*i,pDC,strShowText);
- m_FoodInfoSet.MoveNext();//next
- i++;
- }
- m_FoodInfoSet.Close();
- ClientToScreen(&rect);//将客户区域转变成屏幕坐标
- m_CurScreenBitmap=::GetScreenBitmap(&rect);
- nImgTypeInView=0;//文字背景图
- }
- void CQQView::OnInfolookRoom()
- {
- // TODO: Add your command handler code here
- bFirstRun=FALSE;
- this->Invalidate();
- this->UpdateData(TRUE);
- CDC*pDC=GetDC();
- CRect rect;
- GetClientRect(&rect);
- pDC->FillSolidRect(rect,pDC->GetBkColor());
- LoadbgroundBitmap(pDC);//画背景
- CRoomInfoLookup roominfolookup;
- roominfolookup.DoModal();
- ///////////////////////////////////////////////////////////////
- CString line[7];
- line[0]="房间号: ";
- line[0]=line[0]+roominfolookup.RoomCode;
- line[1]="房间类型: ";
- line[1]=line[1]+roominfolookup.RoomType;
- line[2]="房间所在楼层: ";
- CString str;str.Format("%d",roominfolookup.Floor);
- line[2]=line[2]+str;
- line[3]="房间电话号码: ";
- line[3]=line[3]+roominfolookup.Phone;
- line[4]="房间状态: ";
- line[4]=line[4]+roominfolookup.RoomStatus;
- line[5]="是/否团队客人成员: ";
- if(roominfolookup.PriceType)
- {
- line[5]=line[5]+"是";
- }
- else{ line[5]=line[5]+"否";}
- line[6]="房间单位时间价格: ";
- str.Format("%5.00f",roominfolookup.Price);
- line[6]=line[6]+str;
- ///////showtext
- int nWidth=rect.Width();
- int nHeight=rect.Height();
- CPoint potstart;
- potstart.x=rect.left+nWidth/10;
- potstart.y=rect.top+nHeight/10;
- if(roominfolookup.bSuccess)//查询数据库成功则进行操作
- {
- pDC->SetBkMode(TRANSPARENT);//设置背景模式
- for(int i=0;i<7;i++)
- {
- SetBitmapText(potstart.x,potstart.y+20*i,pDC,line[i]);
- }
- }//over
- ClientToScreen(&rect);//将客户区域转变成屏幕坐标
- m_CurScreenBitmap=::GetScreenBitmap(&rect);
- nImgTypeInView=0;//文字背景图
- }
- void CQQView::OnInfolookServer()
- {
- // TODO: Add your command handler code here
- bFirstRun=FALSE;
- this->UpdateData(TRUE);
- CDC*pDC=GetDC();
- CRect rect;
- GetClientRect(&rect);
- pDC->FillSolidRect(rect,pDC->GetBkColor());
- LoadbgroundBitmap(pDC);//画背景
- int nWidth=rect.Width();
- int nHeight=rect.Height();
- CPoint potstart;
- potstart.x=rect.left+nWidth/10;
- potstart.y=rect.top+nHeight/10;
- //////////////////////////////////////////////
- CServerInfoSet m_ServerInfoSet;
- if(!m_ServerInfoSet.Open(AFX_DB_USE_DEFAULT_TYPE))
- {
- MessageBox("连接数据库失败或数据库为空!","数据库错误",MB_OK);
- return ;
- }
- m_ServerInfoSet.MoveFirst();//to the first
- int i=0;
- while(!m_ServerInfoSet.IsEOF())
- {
- CString servername,serverprice,strShowText;
- servername=m_ServerInfoSet.m_ServerName;
- serverprice.Format("%5.0f",m_ServerInfoSet.m_ServerPrice);
- strShowText=servername+": "+ serverprice;
- pDC->SetBkMode(TRANSPARENT);//设置背景模式
- SetBitmapText(potstart.x,potstart.y+20*i,pDC,strShowText);
- m_ServerInfoSet.MoveNext();//next
- i++;
- }
- m_ServerInfoSet.Close();
- ClientToScreen(&rect);//将客户区域转变成屏幕坐标
- m_CurScreenBitmap=::GetScreenBitmap(&rect);
- nImgTypeInView=0;//文字背景图
- }
- void CQQView::OnInfolookConsume()
- {
- // TODO: Add your command handler code here
- bFirstRun=FALSE;
- }
- //#####################################################################
- void CQQView::OnTimer(UINT nIDEvent)
- {
- // TODO: Add your message handler code here and/or call default
- // CGuestInfoLookup guestinfolookup;
- // CDC* pDC=GetDC();//得到DC
- ////////////////////主要处理消息查询的显示
- //////////////////////////////////////////////////////////////////////
- /*********************************************************************
- 客人消息查询显示
- *********************************************************************/
- /////////////////////////////////////////////////////////////////////
- CView::OnTimer(nIDEvent);
- }
- BOOL CQQView::OnEraseBkgnd(CDC* pDC)
- {
- // TODO: Add your message handler code here and/or call default
- return CView::OnEraseBkgnd(pDC);
- }
- int CQQView::OnCreate(LPCREATESTRUCT lpCreateStruct)
- {
- if (CView::OnCreate(lpCreateStruct) == -1)
- return -1;
- // TODO: Add your specialized creation code here
- return 0;
- }
- /*
- * 初始化结构体数据,保存数据到结构体中供其他的地方调用
- */
- static LPTSTR strText[]=
- {
- "本酒店全名:华天大酒店,属于国家五星级大酒店n是湖南地区最大的酒店",
- "客房部主要负责酒店的房间管理n已经和房间有关的工作",
- "这是客房部的一个分枝,接待客人的职能",
- "管理楼层",
- "清洗衣物",
- "餐饮部主要负责客人的食物服务n可进行:点菜,加/换、退菜的工作n还可以订送餐等服务",
- "对餐厅进行管理服务",
- "酒吧是餐饮部的分支,为客人提供酒服务",
- "康乐部主要负责各种娱乐活动,添加客人在酒店的乐趣",
- "洗浴区为用户提供上乘的服务n这里可以为客人提供洗澡的场所n还可以泡温水,能让客人得到充分的享受",
- "休闲娱乐中心,有舞厅,歌厅,卡拉OK包厢,设施齐全,服务一流",
- "财务部主要负责财务的管理,包括:结帐,库存,汇总报表等",
- "负责酒店的各种物品的购买",
- "存放各种酒店的物品等",
- "接收钱物,为客人进行钱物结帐",
- NULL
- };
- void CQQView::InitStructData()
- {
- RANGLEITEMSINFO* pInfo=new RANGLEITEMSINFO;
- pInfo->nIndex=0;
- pInfo->x1=126;pInfo->y1=8;
- pInfo->x2=206;pInfo->y2=45;
- pInfo->strContentText=strText[0];
- m_List.AddTail(pInfo);
- pInfo=new RANGLEITEMSINFO;
- pInfo->nIndex=1;
- pInfo->x1=29;pInfo->y1=57;
- pInfo->x2=99;pInfo->y2=88;
- pInfo->strContentText=strText[1];
- m_List.AddTail(pInfo);
- pInfo=new RANGLEITEMSINFO;
- pInfo->nIndex=2;
- pInfo->x1=106;pInfo->y1=57;
- pInfo->x2=170;pInfo->y2=88;
- pInfo->strContentText=strText[5];
- m_List.AddTail(pInfo);
- pInfo=new RANGLEITEMSINFO;
- pInfo->nIndex=3;
- pInfo->x1=176;pInfo->y1=57;
- pInfo->x2=240;pInfo->y2=88;
- pInfo->strContentText=strText[8];
- m_List.AddTail(pInfo);
- pInfo=new RANGLEITEMSINFO;
- pInfo->nIndex=4;
- pInfo->x1=245;pInfo->y1=57;
- pInfo->x2=315;pInfo->y2=88;
- pInfo->strContentText=strText[11];
- m_List.AddTail(pInfo);
- pInfo=new RANGLEITEMSINFO;
- pInfo->nIndex=5;
- pInfo->x1=17;pInfo->y1=107;
- pInfo->x2=42;pInfo->y2=170;
- pInfo->strContentText=strText[2];
- m_List.AddTail(pInfo);
- pInfo=new RANGLEITEMSINFO;
- pInfo->nIndex=6;
- pInfo->x1=47;pInfo->y1=107;
- pInfo->x2=77;pInfo->y2=171;
- pInfo->strContentText=strText[3];
- m_List.AddTail(pInfo);
- pInfo=new RANGLEITEMSINFO;
- pInfo->nIndex=7;
- pInfo->x1=83;pInfo->y1=110;
- pInfo->x2=108;pInfo->y2=172;
- pInfo->strContentText=strText[4];
- m_List.AddTail(pInfo);
- pInfo=new RANGLEITEMSINFO;
- pInfo->nIndex=8;
- pInfo->x1=113;pInfo->y1=112;
- pInfo->x2=137;pInfo->y2=173;
- pInfo->strContentText=strText[6];
- m_List.AddTail(pInfo);
- pInfo=new RANGLEITEMSINFO;
- pInfo->nIndex=9;
- pInfo->x1=142;pInfo->y1=112;
- pInfo->x2=168;pInfo->y2=173;
- pInfo->strContentText=strText[7];
- m_List.AddTail(pInfo);
- pInfo=new RANGLEITEMSINFO;
- pInfo->nIndex=10;
- pInfo->x1=172;pInfo->y1=112;
- pInfo->x2=201;pInfo->y2=173;
- pInfo->strContentText=strText[9];
- m_List.AddTail(pInfo);
- pInfo=new RANGLEITEMSINFO;
- pInfo->nIndex=11;
- pInfo->x1=210;pInfo->y1=112;
- pInfo->x2=232;pInfo->y2=173;
- pInfo->strContentText=strText[10];
- m_List.AddTail(pInfo);
- pInfo=new RANGLEITEMSINFO;
- pInfo->nIndex=12;
- pInfo->x1=240;pInfo->y1=112;
- pInfo->x2=263;pInfo->y2=174;
- pInfo->strContentText=strText[12];
- m_List.AddTail(pInfo);
- pInfo=new RANGLEITEMSINFO;
- pInfo->nIndex=13;
- pInfo->x1=269;pInfo->y1=112;
- pInfo->x2=294;pInfo->y2=173;
- pInfo->strContentText=strText[13];
- m_List.AddTail(pInfo);
- pInfo=new RANGLEITEMSINFO;
- pInfo->nIndex=14;
- pInfo->x1=300;pInfo->y1=111;
- pInfo->x2=327;pInfo->y2=174;
- pInfo->strContentText=strText[14];
- m_List.AddTail(pInfo);
- }
- void CQQView::OnLButtonDown(UINT nFlags, CPoint point)
- {
- // TODO: Add your message handler code here and/or call default
- if(nImgTypeInView==12)
- {
- for(int i=0;i<15;i++)
- {
- CRect rect(page3.pntArray[i*2],page3.pntArray[2*i+1]);
- if(rect.PtInRect(point))
- { //若采用CHotoelInfoShow的方法来显示信息,总算存在背景的擦除问题
- //当采用动画的形式显示信息,退出对话框后,这个对话框的背景被重画
- //背景被擦除,不能保持图像的一致
- // [6/29/2003-9:59]
- // CHotelInfoShow pHotelInfo;
- // pHotelInfo.lpszShowText=strText[i];
- // pHotelInfo.DoModal();
- MessageBox(strText[i],"酒店信息介绍",MB_OK);
- }
- }
- }
- if(nImgTypeInView==13)
- {//当前视图区显示的是“酒店概况”图像
- CRect rect;
- GetClientRect(&rect);
- pnt=point;
- CPoint pnt=page3.GetImgOrgPoint();//得到当前的图像原点
- int n=m_List.GetCount();
- for(int i=0;i<n;i++)
- {
- RANGLEITEMSINFO* pRangleInfo;
- POSITION pos=m_List.FindIndex(i);
- pRangleInfo=m_List.GetAt(pos);
- CRect rect(pRangleInfo->x1+pnt.x,pRangleInfo->y1+pnt.y,pRangleInfo->x2+pnt.x,pRangleInfo->y2+pnt.y);
- if(rect.PtInRect(point))
- {
- //弹出消息,提示给用户关于酒店的情况
- MessageBox(pRangleInfo->strContentText,"酒店情况介绍",MB_OK);
- // CHotelInfoShow pHotelInfo;
- // pHotelInfo.lpszShowText=pRangleInfo->strContentText;
- // pHotelInfo.pntCenter=point;
- // pHotelInfo.DoModal();
- }
- }
- }
- CView::OnLButtonDown(nFlags, point);
- }