?? baiyedlg.cpp
字號:
// baiyeDlg.cpp : 實現文件
//
#include "stdafx.h"
#include "baiye.h"
#include "baiyeDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
// CbaiyeDlg 對話框
CbaiyeDlg::CbaiyeDlg(CWnd* pParent /*=NULL*/)
: CDialog(CbaiyeDlg::IDD, pParent)
{
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
void CbaiyeDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
}
BEGIN_MESSAGE_MAP(CbaiyeDlg, CDialog)
#if defined(_DEVICE_RESOLUTION_AWARE) && !defined(WIN32_PLATFORM_WFSP)
ON_WM_SIZE()
#endif
//}}AFX_MSG_MAP
ON_CBN_SELCHANGE(IDC_CMB_STYLE, &CbaiyeDlg::OnCbnSelchangeCmbStyle)
ON_WM_LBUTTONDOWN()
END_MESSAGE_MAP()
// CbaiyeDlg 消息處理程序
BOOL CbaiyeDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// 設置此對話框的圖標。當應用程序主窗口不是對話框時,框架將自動
// 執行此操作
SetIcon(m_hIcon, TRUE); // 設置大圖標
SetIcon(m_hIcon, FALSE); // 設置小圖標
ModifyStyle(WS_CAPTION,0,0);
SendMessage(WM_SYSCOMMAND,SC_MAXIMIZE,0);
// TODO: 在此添加額外的初始化代碼
CComboBox *pCmbStyle=(CComboBox*)GetDlgItem(IDC_CMB_STYLE);
pCmbStyle->AddString(_T("水平向右掃描"));
pCmbStyle->AddString(_T("水平向左掃描"));
pCmbStyle->AddString(_T("水平百葉窗"));
pCmbStyle->AddString(_T("垂直百葉窗"));
return TRUE; // 除非將焦點設置到控件,否則返回 TRUE
}
#if defined(_DEVICE_RESOLUTION_AWARE) && !defined(WIN32_PLATFORM_WFSP)
void CbaiyeDlg::OnSize(UINT /*nType*/, int /*cx*/, int /*cy*/)
{
if (AfxIsDRAEnabled())
{
DRA::RelayoutDialog(
AfxGetResourceHandle(),
this->m_hWnd,
DRA::GetDisplayMode() != DRA::Portrait ?
MAKEINTRESOURCE(IDD_BAIYE_DIALOG_WIDE) :
MAKEINTRESOURCE(IDD_BAIYE_DIALOG));
}
}
#endif
void CbaiyeDlg::OnCbnSelchangeCmbStyle()
{
// TODO: 在此添加控件通知處理程序代碼
CDC memdc;
CBitmap m_bitmap;
int width;
int height;
CBitmap *pOldBmp=NULL;
CComboBox *pCmbStyle=(CComboBox*)GetDlgItem(IDC_CMB_STYLE);
//得到位圖
m_bitmap.LoadBitmapW(IDB_BITMAP1);
//獲得繪圖環境資源
CDC *pDC=new CClientDC(this);
memdc.CreateCompatibleDC(pDC);
pOldBmp=memdc.SelectObject(&m_bitmap);
//獲取位圖大小信息
BITMAP bm;
m_bitmap.GetBitmap(&bm);
width=bm.bmWidth;
height=bm.bmHeight;
pDC->FillSolidRect(0,0,width,height,RGB(255,255,255));
int nIndex=pCmbStyle->GetCurSel();
switch(nIndex)
{
case 0:
{
for(int i=0;i<width;i++)
{
pDC->BitBlt(i,0,1,height,&memdc,i,0,SRCCOPY);
//Sleep(1);
}
}
break;
case 1:
for(int i=width-1;i>=0;i--)
{
pDC->BitBlt(i,0,1,height,&memdc,i,0,SRCCOPY);
}
break;
case 2:
{
int num=width/20;
int i=0,j;
for(i=0;i<20;i++)
{
j=0;
while(j<num+1)
{
pDC->BitBlt(j*20+i,0,1,height,&memdc,j*20+i,0,SRCCOPY);
//Sleep(1);
j++;
}
//Sleep(1);
}
}
break;
case 3:
{
int num=height/20;
int i=0,j;
for(;i<20;i++)
{
for(j=0;j<num+1;j++)
{
pDC->BitBlt(0,j*20+i,width,1,&memdc,0,j*20+i,SRCCOPY);
Sleep(1);
}
// Sleep(1);
}
}
break;
default:
break;
}
memdc.SelectObject(pOldBmp);
m_bitmap.DeleteObject();
memdc.DeleteDC();
delete pDC;
pDC=NULL;
}
void CbaiyeDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息處理程序代碼和/或調用默認值
// TODO: 在此添加控件通知處理程序代碼
CDC memdc,memdc1;
CBitmap m_bitmap,a_bitmap;
int width;
int height;
CBitmap *pOldBmp=NULL;
CBitmap *pOldBmp1=NULL;
//CComboBox *pCmbStyle=(CComboBox*)GetDlgItem(IDC_CMB_STYLE);
//得到位圖
m_bitmap.LoadBitmapW(IDB_BITMAP1);
a_bitmap.LoadBitmapW(IDB_BITMAP2);
//獲得繪圖環境資源
CDC *pDC=new CClientDC(this);
memdc.CreateCompatibleDC(pDC);
pOldBmp=memdc.SelectObject(&m_bitmap);
memdc1.CreateCompatibleDC(pDC);
pOldBmp1=memdc1.SelectObject(&a_bitmap);
//獲取位圖大小信息
BITMAP bm;
m_bitmap.GetBitmap(&bm);
width=bm.bmWidth;
height=bm.bmHeight;
pDC->FillSolidRect(0,0,width,height,RGB(255,255,255));
int num=width/20;
int i=0,j;
for(i=0;i<20;i++)
{
j=0;
while(j<num+1)
{
pDC->BitBlt(j*20+i,0,1,height,&memdc,j*20+i,0,SRCCOPY);
//Sleep(1);
j++;
}
//Sleep(1);
}
for(i=0;i<35;i++)
{
TransparentImage(pDC->GetSafeHdc(),i,395,582,68,memdc1,0,0,582,68,RGB(83,42,38));
//pDC->BitBlt(i,0,582,68,&memdc1,0,0,SRCCOPY);
i+=2;
}
for(i=0;i<218;i++)
{
//TransparentImage(pDC->GetSafeHdc(),i,0,582,68,memdc1,0,0,582,68,RGB(247,25,8));
//pDC->BitBlt(i,0,582,68,&memdc1,0,0,SRCCOPY);
i++;
}
memdc.SelectObject(pOldBmp);
m_bitmap.DeleteObject();
memdc.DeleteDC();
delete pDC;
pDC=NULL;
CDialog::OnLButtonDown(nFlags, point);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -