123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334 |
- // PicBar.cpp: implementation of the PicBar class.
- //
- //////////////////////////////////////////////////////////////////////
- #include "stdafx.h"
- #include "LYFZIPManage.h"
- #include "PicBar.h"
- #include "ShowPic22.h"
- //////////////////////////////////////////////////////////////////////
- // Construction/Destruction
- //////////////////////////////////////////////////////////////////////
- PicBar::PicBar()
- {
- g_pMainWnd->GetSkin();
- m_pParent=NULL;
- m_time=3;
- m_nType=1;
- m_bInit=0;
- m_pImageRun=NULL;
- m_pImageStop=NULL;
- CString version = _T ("Version 1.0");
- m_time=AfxGetApp()->GetProfileInt (version, "pictime", 3);
- m_nType=AfxGetApp()->GetProfileInt (version, "pictype", 1);
- g_fscalexbak= g_fscalex;
- g_fscaleybak= g_fscaley;
- g_fscalex= 1;
- g_fscaley= 1;
- }
- PicBar::~PicBar()
- {
- try
- {
- g_fscalex= g_fscalexbak;
- g_fscaley= g_fscaleybak;
- if(m_pImageRun)delete m_pImageRun;m_pImageRun=NULL;
- if(m_pImageStop)delete m_pImageStop;m_pImageStop=NULL;
- CString version = _T ("Version 1.0");
- AfxGetApp()->WriteProfileInt (version, "pictime", m_time);
- AfxGetApp()->WriteProfileInt (version, "pictype", m_nType);
- }
- catch(...)
- {
- }
- }
- void PicBar::OnFSCommand(LPCTSTR command, LPCTSTR args)
- {
- }
- void PicBar::Init()
- {
- try
- {
- m_bInit=1;
- CRect rc;
- GetClientRect(rc);
- CRgn rgn1, rgn2, rgn3;
- rgn1.CreateRectRgn (0,0, rc.Width (), rc.Height ());
-
- rgn2.CreateRectRgn (0,0, 10, 10);
- rgn3. CreateEllipticRgn(0,0,20,20);
- rgn2.CombineRgn (&rgn2, &rgn3, RGN_DIFF);
- rgn1.CombineRgn (&rgn1, &rgn2, RGN_DIFF);
- rgn2.DeleteObject ();
- rgn3.DeleteObject ();
- rgn2.CreateRectRgn (0,40, 10, 50);
- rgn3. CreateEllipticRgn(0,30,20,50);
- rgn2.CombineRgn (&rgn2, &rgn3, RGN_DIFF);
- rgn1.CombineRgn (&rgn1, &rgn2, RGN_DIFF);
- rgn2.DeleteObject ();
- rgn3.DeleteObject ();
- rgn2.CreateRectRgn (553,40, 563, 50);
- rgn3. CreateEllipticRgn(543,30,563,50);
- rgn2.CombineRgn (&rgn2, &rgn3, RGN_DIFF);
- rgn1.CombineRgn (&rgn1, &rgn2, RGN_DIFF);
- rgn2.DeleteObject ();
- rgn3.DeleteObject ();
- rgn2.CreateRectRgn (553,0, 563, 10);
- rgn3. CreateEllipticRgn(543,0,563,20);
- rgn2.CombineRgn (&rgn2, &rgn3, RGN_DIFF);
- rgn1.CombineRgn (&rgn1, &rgn2, RGN_DIFF);
- rgn2.DeleteObject ();
- rgn3.DeleteObject ();
- ::SetWindowRgn (m_hWnd, rgn1, 0);
- rc=m_rcarray.ElementAt (9);
- rc.bottom =rc.top +13;
- rc.right =rc.left +13;
- m_button1.Create("",WS_CHILD | WS_VISIBLE | BS_AUTOCHECKBOX|BS_FLAT, rc,this,100);
- rc=m_rcarray.ElementAt (10);
- rc.bottom =rc.top +13;
- rc.right =rc.left +13;
- m_button2.Create("",WS_CHILD | WS_VISIBLE | BS_AUTOCHECKBOX|BS_FLAT, rc,this,101);
- rc=m_rcarray.ElementAt (11);
- rc.bottom =rc.top +13;
- rc.right =rc.left +13;
- m_button3.Create("",WS_CHILD | WS_VISIBLE | BS_AUTOCHECKBOX|BS_FLAT, rc,this,102);
- rc=m_rcarray.ElementAt (12);
- rc.bottom =rc.top +13;
- rc.right =rc.left +13;
- m_button4.Create("",WS_CHILD | WS_VISIBLE | BS_AUTOCHECKBOX|BS_FLAT, rc,this,103);
- if(m_nType==1)
- m_button1.SetCheck (1);
- else if(m_nType==2)
- m_button2.SetCheck (1);
- else if(m_nType==3)
- m_button3.SetCheck (1);
- else if(m_nType==4)
- m_button4.SetCheck (1);
- DrawTimes();
- MyBmpButton2* m_btn=((MyBmpButton2*)m_picarray.ElementAt (4));
- m_pImageRun=m_btn->m_bmp->Clone();
- LoadImageFromRes(&m_pImageStop, MAKEINTRESOURCE(IDR_JPG2), _T("JPG"));
- }
- catch(...)
- {
- }
-
- }
- void PicBar::Destory()
- {
- }
- void PicBar::BtnClick(WPARAM wParam, LPARAM lParam)
- {
- int id=lParam;
- id-=99;
- switch(id)
- {
- case 1:
- ShowWindow(SW_HIDE);
- ((ShowPic22*)m_pParent)->KillTimer(6);
- ((ShowPic22*)m_pParent)->SetTimer(6, 100, NULL);
- break;
- case 2:
- ((ShowPic22*)m_pParent)->Rotate1();
- break;
- case 3:
- ((ShowPic22*)m_pParent)->Rotate2();
- break;
- case 4:
- ((ShowPic22*)m_pParent)->Pre();
- break;
- case 5:
- ((ShowPic22*)m_pParent)->AutoPic();
- // if(((ShowPic22*)m_pParent)->m_bauto)
- // ShowWindow(SW_HIDE);
- break;
- case 6:
- ((ShowPic22*)m_pParent)->Next();
- break;
- case 7:
- m_time--;
- m_time=max(1, m_time);
- DrawTimes();
- break;
- case 8:
- m_time++;
- m_time=min(20, m_time);
- DrawTimes();
- break;
- }
- }
- BOOL PicBar::PreTransMsg(MSG* pMsg)
- {
- if(pMsg->message==WM_KEYDOWN)
- {
- return m_pParent->PreTranslateMessage(pMsg);
- }
- else if(pMsg->message==WM_PAINT)
- {
- // CDialog::PreTranslateMessage(pMsg);
- // DrawTimes();
- }
- else if(pMsg->message==WM_MOUSEMOVE)
- {
- m_pParent->PreTranslateMessage(pMsg);
- return CDialog::PreTranslateMessage(pMsg);
- }
- else if(pMsg->message==WM_LBUTTONDOWN)
- {
- g_bNeedDrawParent=1;
- CPoint pt;
- ::GetCursorPos (&pt);
- ScreenToClient(&pt);
- if(m_rcarray.ElementAt (9).PtInRect (pt))
- {
- m_button1.SetCheck (!m_button1.GetCheck ());
- if(m_button1.GetCheck ())
- {
- m_button2.SetCheck (0);
- m_button3.SetCheck (0);
- m_button4.SetCheck (0);
- }
- EffectChange();
- return 1;
- }
- if(m_rcarray.ElementAt (10).PtInRect (pt))
- {
- m_button2.SetCheck (!m_button2.GetCheck ());
- if(m_button2.GetCheck ())
- {
- m_button1.SetCheck (0);
- m_button3.SetCheck (0);
- m_button4.SetCheck (0);
- }
- EffectChange();
- return 1;
- }
- if(m_rcarray.ElementAt (11).PtInRect (pt))
- {
- m_button3.SetCheck (!m_button3.GetCheck ());
- if(m_button3.GetCheck ())
- {
- m_button2.SetCheck (0);
- m_button1.SetCheck (0);
- m_button4.SetCheck (0);
- }
- EffectChange();
- return 1;
- }
- if(m_rcarray.ElementAt (12).PtInRect (pt))
- {
- m_button4.SetCheck (!m_button4.GetCheck ());
- if(m_button4.GetCheck ())
- {
- m_button2.SetCheck (0);
- m_button3.SetCheck (0);
- m_button1.SetCheck (0);
- }
- EffectChange();
- return 1;
- }
- }
- return CDialog::PreTranslateMessage(pMsg);
- }
- void PicBar::EffectChange()
- {
- if(m_button1.GetCheck ())
- {
- m_nType=1;
- ((ShowPic22*)m_pParent)->SetEffect(1);
- }
- else if(m_button2.GetCheck ())
- {
- m_nType=2;
- ((ShowPic22*)m_pParent)->SetEffect(2);
- }
- else if(m_button3.GetCheck ())
- {
- m_nType=3;
- ((ShowPic22*)m_pParent)->SetEffect(3);
- }
- else if(m_button4.GetCheck ())
- {
- m_nType=4;
- ((ShowPic22*)m_pParent)->SetEffect(4);
- }
- else
- {
- m_nType=0;
- ((ShowPic22*)m_pParent)->SetEffect(0);
- }
- }
- void PicBar::DrawTimes()
- {
- try
- {
- Graphics graph(m_pBk);
- CRect rc=m_rcarray.ElementAt (8);
- rc.top +=2;
- rc.left +=5;
- RectF layoutRect(rc.left , rc.top, rc.Width (), rc.Height ());
- CString str;
- str.Format ("%d", m_time);
- int leng=str.GetLength ();
- StringFormat format;
- format.SetAlignment(StringAlignmentCenter);
- SolidBrush *Brush=new SolidBrush(Color(255,50,55,69));
- graph.FillRectangle (Brush, layoutRect );
- delete Brush;
- Brush=new SolidBrush(Color(255,240,240,240));
- Font *g_TimerFont=new Font(L"ËÎÌå", 16);
- BSTR bstr= str.AllocSysString();
- graph.SetTextRenderingHint(TextRenderingHintAntiAlias);
- graph.DrawString(
- bstr,
- leng,
- g_TimerFont,
- layoutRect,
- &format,
- Brush);
- delete Brush;
- delete g_TimerFont;
- SysFreeString(bstr);
- Invalidate();
- }
- catch(...)
- {
- }
- }
- void PicBar::ChangeBtn()
- {
- try
- {
- if(m_pImageRun==NULL)return;
- MyBmpButton2* m_btn=((MyBmpButton2*)m_picarray.ElementAt (4));
- if(((ShowPic22*)m_pParent)->m_bauto==0)
- m_btn->ChangePic(m_pImageRun, 0, m_pImageStop, 0);
- else
- m_btn->ChangePic(m_pImageStop, 0, m_pImageRun, 0);
- }
- catch(...)
- {
- }
- }
|