?? qqview.cpp
字號:
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);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -