//////////////////////////////////////////////////////////////////////// // Level Main Function //////////////////////////////////////////////////////////////////////// void Level(HWND hwnd, HINSTANCE hInst) { if(l.number == TITLE) { if(l.stat == START) TitleStart((HWNDdll)hwnd, (HINST)hInst); if(l.stat == MID) TitleMid((HWNDdll)hwnd, (HINST)hInst); } if(l.number == P1_VS_P2) { if(l.stat == START) PvsPStart((HWNDdll)hwnd, (HINST)hInst); if(l.stat == MID) PvsPMid((HWNDdll)hwnd, (HINST)hInst); if(l.stat == END) PvsPEnd((HWNDdll)hwnd, (HINST)hInst); } if(l.number == P1_VS_COM) { if(l.stat == START) PvsCStart((HWNDdll)hwnd, (HINST)hInst); if(l.stat == MID) PvsCMid((HWNDdll)hwnd, (HINST)hInst); if(l.stat == END) PvsCEnd((HWNDdll)hwnd, (HINST)hInst); } }
//绘画标题栏 bool CSkinWndObject::DrawCaption(CDC * pDC, int cx, int cy) { //加载位图 CImageHandle TitleLeft(&m_SkinAttribute.m_TitleLeft); if (m_SkinAttribute.m_TitleLeft.IsNull()) return false; CImageHandle TitleMid(&m_SkinAttribute.m_TitleMid); if (m_SkinAttribute.m_TitleMid.IsNull()) return false; CImageHandle TitleRight(&m_SkinAttribute.m_TitleRight); if (m_SkinAttribute.m_TitleRight.IsNull()) return false; //绘画标题 int nLeftWidth=TitleLeft->GetWidth(); int nMidWidth=TitleMid->GetWidth(); int nRightWidth=TitleRight->GetWidth(); int nXMinDrawPause=cx-nRightWidth; TitleLeft->BitBlt(pDC->m_hDC,0,0); for (int i=nLeftWidth;i<nXMinDrawPause;i+=nMidWidth) TitleMid->BitBlt(pDC->m_hDC,i,0); TitleRight->BitBlt(pDC->m_hDC,nXMinDrawPause,0); //绘画文字 CString strTitle; CRect rcTitleRect(45,4,cx-100,cy-2); m_pWndHook->GetWindowText(strTitle); pDC->SetBkMode(TRANSPARENT); pDC->SelectObject(&m_SkinAttribute.m_DefaultFont); pDC->SetTextColor(m_SkinAttribute.m_crCaptionTXColor); pDC->DrawText(strTitle,&rcTitleRect,DT_LEFT|DT_SINGLELINE|DT_VCENTER|DT_END_ELLIPSIS); //关闭按钮 if (m_cbButtonState[BST_CLOSE]&BUT_EXIST) { int nDrawPos=0; CImageHandle ImageHandle(&m_SkinAttribute.m_ButtonClose); if (m_cbButtonState[BST_CLOSE]&BUT_DISABLE) { nDrawPos=ImageHandle->GetWidth()*3/4; } else if (m_cbNowDownButton==BST_CLOSE) { nDrawPos=ImageHandle->GetWidth()*2/4; } else if (m_cbNowHotButton==BST_CLOSE) { nDrawPos=ImageHandle->GetWidth()/4; } ImageHandle->BitBlt(pDC->GetSafeHdc(),m_rcButton[BST_CLOSE].left,m_rcButton[BST_CLOSE].top, m_SkinAttribute.m_nButtonWidth,m_SkinAttribute.m_nButtonHeigth,nDrawPos,0); } //最大化和还原按钮 if (m_cbButtonState[BST_MAX]&BUT_EXIST) { int nDrawPos=0; CImageHandle ImageHandle; if (m_bMaxSize==true) ImageHandle.AttachResource(&m_SkinAttribute.m_ButtonRes); else ImageHandle.AttachResource(&m_SkinAttribute.m_ButtonMax); if (m_cbButtonState[BST_MAX]&BUT_DISABLE) { nDrawPos=ImageHandle->GetWidth()*3/4; } if (m_cbNowDownButton==BST_MAX) { nDrawPos=ImageHandle->GetWidth()*2/4; } else if (m_cbNowHotButton==BST_MAX) { nDrawPos=ImageHandle->GetWidth()/4; } ImageHandle->BitBlt(pDC->GetSafeHdc(),m_rcButton[BST_MAX].left,m_rcButton[BST_MAX].top, m_SkinAttribute.m_nButtonWidth,m_SkinAttribute.m_nButtonHeigth,nDrawPos,0); } //最小化按钮 if (m_cbButtonState[BST_MIN]&BUT_EXIST) { int nDrawPos=0; CImageHandle ImageHandle(&m_SkinAttribute.m_ButtonMin); if (m_cbButtonState[BST_MIN]&BUT_DISABLE) { nDrawPos=ImageHandle->GetWidth()*3/4; } if (m_cbNowDownButton==BST_MIN) { nDrawPos=ImageHandle->GetWidth()*2/4; } else if (m_cbNowHotButton==BST_MIN) { nDrawPos=ImageHandle->GetWidth()/4; } ImageHandle->BitBlt(pDC->GetSafeHdc(),m_rcButton[BST_MIN].left,m_rcButton[BST_MIN].top, m_SkinAttribute.m_nButtonWidth,m_SkinAttribute.m_nButtonHeigth,nDrawPos,0); } return true; }
//绘画标题栏 bool CSkinWndObject::DrawCaption(CDC * pDC, int cx, int cy) { //加载位图 CImageHandle TitleLeft(&m_SkinAttribute.m_TitleLeft); if (m_SkinAttribute.m_TitleLeft.IsNull()) return false; CImageHandle TitleMid(&m_SkinAttribute.m_TitleMid); if (m_SkinAttribute.m_TitleMid.IsNull()) return false; CImageHandle TitleRight(&m_SkinAttribute.m_TitleRight); if (m_SkinAttribute.m_TitleRight.IsNull()) return false; //绘画标题 int nLeftWidth=TitleLeft->GetWidth(); int nMidWidth=TitleMid->GetWidth(); int nRightWidth=TitleRight->GetWidth(); int nXMinDrawPause=cx-nRightWidth; TitleLeft->BitBlt(pDC->m_hDC,0,0); //m_SkinAttribute.m_TitleLeft.AlphaDrawImage(pDC,0,0,RGB(255,0,255)); for (int i=nLeftWidth;i<nXMinDrawPause;i+=nMidWidth) TitleMid->BitBlt(pDC->m_hDC,i,0); TitleRight->BitBlt(pDC->m_hDC,nXMinDrawPause,0); m_SkinAttribute.m_TitleRight.AlphaDrawImage(pDC,nXMinDrawPause,0,RGB(255,0,255)); //绘画文字 CString strTitle; CRect rcTitleRect(35,4,cx-100,cy-2); m_pWndHook->GetWindowText(strTitle); pDC->SetBkMode(TRANSPARENT); pDC->SelectObject(&m_SkinAttribute.m_DefaultFont); pDC->SetTextColor(m_SkinAttribute.m_crCaptionTXColor); //pDC->DrawText(strTitle,&rcTitleRect,DT_LEFT|DT_SINGLELINE|DT_VCENTER|DT_END_ELLIPSIS); ////////////////////////////////////////////////////////////////////////// pDC->DrawText(strTitle,&rcTitleRect,DT_LEFT|DT_SINGLELINE|DT_VCENTER|DT_END_ELLIPSIS); //变量定义 // int nStringLength=lstrlen(strTitle); // int nXExcursion[8]={1,1,1,0,-1,-1,-1,0}; // int nYExcursion[8]={-1,0,1,1,1,0,-1,-1}; // // //绘画边框 // pDC->SetTextColor(m_SkinAttribute.m_crCaptionTXColor/*RGB(0,98,142)*/); // CRect rcDraw; // for (int i=0;i<CountArray(nXExcursion);i++) // { // rcDraw.CopyRect(rcTitleRect); // rcDraw.OffsetRect(nXExcursion[i],nYExcursion[i]); // pDC->DrawText(strTitle,nStringLength,&rcDraw,DT_LEFT|DT_SINGLELINE|DT_VCENTER|DT_END_ELLIPSIS); // } // // //绘画字体 // rcDraw.CopyRect( rcTitleRect); // pDC->SetTextColor(m_SkinAttribute.m_crCaptionTXColor); // pDC->DrawText(strTitle,nStringLength,&rcDraw,DT_LEFT|DT_SINGLELINE|DT_VCENTER|DT_END_ELLIPSIS); // ////////////////////////////////////////////////////////////////////////// CImageHandle ButtonHandle(&m_SkinAttribute.m_ButtonClose); if (ButtonHandle.IsResourceValid()) { m_SkinAttribute.m_nButtonHeigth=ButtonHandle->GetHeight(); m_SkinAttribute.m_nButtonWidth=ButtonHandle->GetWidth()/5; } else { m_SkinAttribute.m_nButtonHeigth=0; m_SkinAttribute.m_nButtonWidth=0; } //关闭按钮 if (m_cbButtonState[BST_CLOSE]&BUT_EXIST) { int nDrawPos=0; CImageHandle ImageHandle(&m_SkinAttribute.m_ButtonClose); if (m_cbButtonState[BST_CLOSE]&BUT_DISABLE) { nDrawPos=ImageHandle->GetWidth()*3/5; } else if (m_cbNowDownButton==BST_CLOSE) { nDrawPos=ImageHandle->GetWidth()*2/5; } else if (m_cbNowHotButton==BST_CLOSE) { nDrawPos=ImageHandle->GetWidth()/5; } ImageHandle->BitBlt(pDC->GetSafeHdc(),m_rcButton[BST_CLOSE].left,m_rcButton[BST_CLOSE].top, m_SkinAttribute.m_nButtonWidth,m_SkinAttribute.m_nButtonHeigth,nDrawPos,0); } //最大化和还原按钮 if (m_cbButtonState[BST_MAX]&BUT_EXIST) { int nDrawPos=0; CImageHandle ImageHandle; if (m_bMaxSize==true) ImageHandle.AttachResource(&m_SkinAttribute.m_ButtonRes); else ImageHandle.AttachResource(&m_SkinAttribute.m_ButtonMax); if (m_cbButtonState[BST_MAX]&BUT_DISABLE) { nDrawPos=ImageHandle->GetWidth()*3/5; } if (m_cbNowDownButton==BST_MAX) { nDrawPos=ImageHandle->GetWidth()*2/5; } else if (m_cbNowHotButton==BST_MAX) { nDrawPos=ImageHandle->GetWidth()/5; } ImageHandle->BitBlt(pDC->GetSafeHdc(),m_rcButton[BST_MAX].left,m_rcButton[BST_MAX].top, m_SkinAttribute.m_nButtonWidth,m_SkinAttribute.m_nButtonHeigth,nDrawPos,0); } //最小化按钮 if (m_cbButtonState[BST_MIN]&BUT_EXIST) { int nDrawPos=0; CImageHandle ImageHandle(&m_SkinAttribute.m_ButtonMin); if (m_cbButtonState[BST_MIN]&BUT_DISABLE) { nDrawPos=ImageHandle->GetWidth()*3/5; } if (m_cbNowDownButton==BST_MIN) { nDrawPos=ImageHandle->GetWidth()*2/5; } else if (m_cbNowHotButton==BST_MIN) { nDrawPos=ImageHandle->GetWidth()/5; } ImageHandle->BitBlt(pDC->GetSafeHdc(),m_rcButton[BST_MIN].left,m_rcButton[BST_MIN].top, m_SkinAttribute.m_nButtonWidth,m_SkinAttribute.m_nButtonHeigth,nDrawPos,0); } return true; }