MFC窗口实现闪烁~~
<br />初始化:<br /> k=1;j=0;t=0;j1=0;j2=0;t2=0;<br /> GetDlgItem(ID_RADIO2)->ShowWindow(SW_HIDE);<br /> GetDlgItem(ID_hao)->ShowWindow(SW_HIDE);<br /> GetDlgItem(ID_STATIC1)->ShowWindow(SW_SHOW);<br />
初始化:
k=1;j=0;t=0;j1=0;j2=0;t2=0;
GetDlgItem(ID_RADIO2)->ShowWindow(SW_HIDE);
GetDlgItem(ID_hao)->ShowWindow(SW_HIDE);
GetDlgItem(ID_STATIC1)->ShowWindow(SW_SHOW);
GetDlgItem(ID_STATIC2)->ShowWindow(SW_HIDE);
GetDlgItem(ID_STATIC3)->ShowWindow(SW_HIDE);
GetDlgItem(ID_STATIC4)->ShowWindow(SW_HIDE);
GetDlgItem(ID_STATIC5)->ShowWindow(SW_HIDE);
GetDlgItem(ID_STATIC6)->ShowWindow(SW_HIDE);
GetDlgItem(ID_STATIC7)->ShowWindow(SW_HIDE);
GetDlgItem(ID_STATIC8)->ShowWindow(SW_HIDE);
GetDlgItem(ID_STATIC9)->ShowWindow(SW_HIDE);
GetDlgItem(ID_STATIC10)->ShowWindow(SW_HIDE);
GetDlgItem(ID_STATIC11)->ShowWindow(SW_HIDE);
GetDlgItem(ID_STATIC12)->ShowWindow(SW_HIDE);
GetDlgItem(ID_STATIC13)->ShowWindow(SW_HIDE);
return TRUE; // return TRUE unless you set the focus to a control
void CMyDlg::OnPaint()
{
CPaintDC dc(this); // device context for painting
if (IsIconic())
{
SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);
// Center icon in client rectangle
int cxIcon = GetSystemMetrics(SM_CXICON);
int cyIcon = GetSystemMetrics(SM_CYICON);
CRect rect;
GetClientRect(&rect);
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1) / 2;
// Draw the icon
dc.DrawIcon(x, y, m_hIcon);
}
else
{
BITMAP bm;
CRect rect;
CDC dcMem;
m_BKbitmap.GetBitmap (&bm);
GetClientRect(&rect);
dcMem.CreateCompatibleDC (&dc);
CBitmap *oldbitmap=dcMem.SelectObject (&m_BKbitmap);
dc.BitBlt (0,0,bm.bmWidth ,bm.bmHeight ,&dcMem,0,0,SRCCOPY);
dcMem.SelectObject(oldbitmap);
CDialog::OnPaint();
}
}
// The system calls this to obtain the cursor to display while the user drags
// the minimized window.
HCURSOR CMyDlg::OnQueryDragIcon()
{
return (HCURSOR) m_hIcon;
}
HBRUSH CMyDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
switch (pWnd->GetDlgCtrlID()){
case ID_RADIO:
pDC->SetBkMode(TRANSPARENT);//背景透明,和背景的颜色浑然一体
// pDC->SetBkMode(OPAQUE);//破坏背景颜色,凸显自身的区域
pDC->SetTextColor(RGB(255,2,255)); //字体颜色
return HBRUSH(GetStockObject(HOLLOW_BRUSH));
/* case ID_BUTTON:
pDC->SetTextColor(RGB(255,2,25)); //字体颜色
return HBRUSH(GetStockObject(HOLLOW_BRUSH));*/
case ID_RADIO2:
pDC->SetBkMode(TRANSPARENT);//背景透明,和背景的颜色浑然一体
// pDC->SetBkMode(OPAQUE);//破坏背景颜色,凸显自身的区域
pDC->SetTextColor(RGB(255,2,255)); //字体颜色
return HBRUSH(GetStockObject(HOLLOW_BRUSH));
case ID_hao:
pDC->SetBkMode(TRANSPARENT);//背景透明,和背景的颜色浑然一体
// pDC->SetBkMode(OPAQUE);//破坏背景颜色,凸显自身的区域
pDC->SetTextColor(RGB(255,2,255)); //字体颜色
return HBRUSH(GetStockObject(HOLLOW_BRUSH));
case ID_hao1:
pDC->SetBkMode(TRANSPARENT);//背景透明,和背景的颜色浑然一体
// pDC->SetBkMode(OPAQUE);//破坏背景颜色,凸显自身的区域
pDC->SetTextColor(RGB(255,2,255)); //字体颜色
return HBRUSH(GetStockObject(HOLLOW_BRUSH));
// case ...///其他
}
// TODO: Change any attributes of the DC here
// TODO: Return a different brush if the default is not desired
return hbr;
}
void CMyDlg::Onyinyue()
{
// TODO: Add your control notification handler code here
UpdateData(true);
// PlaySound((LPCTSTR)IDR_WAVE, AfxGetInstanceHandle(), SND_RESOURCE | SND_ASYNC);
// PlaySound("c://1.wav",NULL, SND_FILENAME | SND_LOOP);//
UpdateData(false);
}
void CMyDlg::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
UpdateData(true);
if(nIDEvent==1)
{
j++;
switch(j)
{
case 1:
GetDlgItem(ID_STATIC1)->ShowWindow(SW_SHOW);
break;
case 2:
GetDlgItem(ID_STATIC2)->ShowWindow(SW_SHOW);
break;
case 3:
GetDlgItem(ID_STATIC3)->ShowWindow(SW_SHOW);
break;
case 4:
GetDlgItem(ID_STATIC4)->ShowWindow(SW_SHOW);
break;
case 5:
GetDlgItem(ID_STATIC5)->ShowWindow(SW_SHOW);
break;
case 6:
GetDlgItem(ID_STATIC6)->ShowWindow(SW_SHOW);
break;
case 7:
GetDlgItem(ID_STATIC7)->ShowWindow(SW_SHOW);
break;
case 8:
GetDlgItem(ID_STATIC8)->ShowWindow(SW_SHOW);
break;
case 9:
GetDlgItem(ID_STATIC9)->ShowWindow(SW_SHOW);
break;
case 10:
GetDlgItem(ID_STATIC10)->ShowWindow(SW_SHOW);
break;
case 11:
GetDlgItem(ID_STATIC11)->ShowWindow(SW_SHOW);
break;
case 12:
GetDlgItem(ID_STATIC12)->ShowWindow(SW_SHOW);
break;
case 13:
GetDlgItem(ID_STATIC13)->ShowWindow(SW_SHOW);
break;
default:
break;
}
if(j==13)
{
t=1;
// GetDlgItem(ID_STATIC13)->ShowWindow(SW_HIDE);
}
if(k==1)
{
GetDlgItem(ID_RADIO)->ShowWindow(SW_HIDE);
GetDlgItem(ID_RADIO2)->ShowWindow(SW_SHOW);
GetDlgItem(ID_hao)->ShowWindow(SW_HIDE);
GetDlgItem(ID_hao1)->ShowWindow(SW_SHOW);
k=-k;
}
else
{
GetDlgItem(ID_RADIO)->ShowWindow(SW_SHOW);
GetDlgItem(ID_RADIO2)->ShowWindow(SW_HIDE);
GetDlgItem(ID_hao)->ShowWindow(SW_SHOW);
GetDlgItem(ID_hao1)->ShowWindow(SW_HIDE);
k=-k;
}
}
if(nIDEvent==2)
{
if(t==1)
{
j1++;
switch(j1)
{
case 1:
GetDlgItem(ID_STATIC13)->ShowWindow(SW_HIDE);
break;
case 2:
GetDlgItem(ID_STATIC12)->ShowWindow(SW_HIDE);
break;
case 3:
GetDlgItem(ID_STATIC11)->ShowWindow(SW_HIDE);
break;
case 4:
GetDlgItem(ID_STATIC10)->ShowWindow(SW_HIDE);
break;
case 5:
GetDlgItem(ID_STATIC9)->ShowWindow(SW_HIDE);
break;
case 6:
GetDlgItem(ID_STATIC8)->ShowWindow(SW_HIDE);
break;
case 7:
GetDlgItem(ID_STATIC7)->ShowWindow(SW_HIDE);
break;
case 8:
GetDlgItem(ID_STATIC6)->ShowWindow(SW_HIDE);
break;
case 9:
GetDlgItem(ID_STATIC5)->ShowWindow(SW_HIDE);
break;
case 10:
GetDlgItem(ID_STATIC4)->ShowWindow(SW_HIDE);
break;
case 11:
GetDlgItem(ID_STATIC3)->ShowWindow(SW_HIDE);
break;
case 12:
GetDlgItem(ID_STATIC2)->ShowWindow(SW_HIDE);
break;
case 13:
GetDlgItem(ID_STATIC1)->ShowWindow(SW_HIDE);
break;
default:
break;
}
if(j1==13)
{
t2=1;
}
}
}
if(nIDEvent==3)
{
if(t2==1)
{
j2++;
switch(j2)
{
case 1:
GetDlgItem(ID_STATIC1)->ShowWindow(SW_SHOW);
break;
case 2:
GetDlgItem(ID_STATIC2)->ShowWindow(SW_SHOW);
break;
case 3:
GetDlgItem(ID_STATIC3)->ShowWindow(SW_SHOW);
break;
case 4:
GetDlgItem(ID_STATIC4)->ShowWindow(SW_SHOW);
break;
case 5:
GetDlgItem(ID_STATIC5)->ShowWindow(SW_SHOW);
break;
case 6:
GetDlgItem(ID_STATIC6)->ShowWindow(SW_SHOW);
break;
case 7:
GetDlgItem(ID_STATIC7)->ShowWindow(SW_SHOW);
break;
case 8:
GetDlgItem(ID_STATIC8)->ShowWindow(SW_SHOW);
break;
case 9:
GetDlgItem(ID_STATIC9)->ShowWindow(SW_SHOW);
break;
case 10:
GetDlgItem(ID_STATIC10)->ShowWindow(SW_SHOW);
break;
case 11:
GetDlgItem(ID_STATIC11)->ShowWindow(SW_SHOW);
break;
case 12:
GetDlgItem(ID_STATIC12)->ShowWindow(SW_SHOW);
break;
case 13:
GetDlgItem(ID_STATIC13)->ShowWindow(SW_SHOW);
break;
default:
break;
}
}
}
UpdateData(false);
CDialog::OnTimer(nIDEvent);
}
int CMyDlg::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CDialog::OnCreate(lpCreateStruct) == -1)
return -1;
// TODO: Add your specialized creation code here
SetTimer(1,1000,NULL);
SetTimer(2,500,NULL);
SetTimer(3,100,NULL);
return 0;
}
void CMyDlg::OnDestroy()
{
CDialog::OnDestroy();
// TODO: Add your message handler code here
KillTimer(1);
KillTimer(2);
KillTimer(3);
}
更多推荐
所有评论(0)