?? mywnd.cpp
字號:
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "MyWnd.h"
#include "..\Page.h"
#include "..\PageDlg.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CMyWnd::CMyWnd()
{
}
CMyWnd::~CMyWnd()
{
}
BEGIN_MESSAGE_MAP(CMyWnd, CWnd)
//{{AFX_MSG_MAP(CTransparentWnd)
ON_WM_RBUTTONDOWN()
ON_WM_LBUTTONDOWN()
ON_WM_MOUSEMOVE()
ON_COMMAND(IDC_EXIT,OnExit)
ON_COMMAND(IDC_SET,OnSet)
ON_COMMAND(IDC_REFRESH,OnRefresh)
ON_COMMAND(IDC_EXIT_ALL,OnExitAll)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
void CMyWnd::CreateMyWnd(LPCTSTR pTitle,RECT &rect)
{
//建立窗口
CreateEx(WS_EX_TRANSPARENT, //透明
AfxRegisterWndClass(0,AfxGetApp()->LoadCursor(IDC_PEN)),
pTitle,
WS_POPUP,
rect,
NULL,
NULL,
NULL );
}
void CMyWnd::OnRButtonDown(UINT nFlags, CPoint point)
{
CMenu m_menu;
m_menu.LoadMenu(IDR_MENU1);
ClientToScreen(&point);
CMenu *psub = (CMenu *)m_menu.GetSubMenu(1);
psub->TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON,point.x,point.y,this);
m_menu.DestroyMenu();
CWnd::OnRButtonDown(nFlags, point);
}
void CMyWnd::OnLButtonDown(UINT nFlags, CPoint point)
{
m_pt=point;
CWnd::OnLButtonDown(nFlags, point);
}
void CMyWnd::OnMouseMove(UINT nFlags, CPoint point)
{
if(nFlags & MK_LBUTTON)
{
CClientDC dc(this);
CPen pen(
((CPageDlg*)AfxGetMainWnd())->m_page1.m_nPenStyle,
((CPageDlg*)AfxGetMainWnd())->m_page1.m_nPenWidth,
((CPageDlg*)AfxGetMainWnd())->m_page1.m_PenColor
);
CPen* pOldPen=dc.SelectObject (&pen);
dc.MoveTo (m_pt.x,m_pt.y);
dc.LineTo (point.x,point.y);
m_pt=point;
dc.SelectObject (pOldPen);
}
CWnd::OnMouseMove(nFlags, point);
}
void CMyWnd::OnExit() //結束畫圖
{
::SendMessage(GetSafeHwnd(),WM_CLOSE,0,0);
((CPageDlg*)AfxGetMainWnd())->m_page1.pWnd =NULL;
delete ((CPageDlg*)AfxGetMainWnd())->m_page1.pWnd;
AfxGetMainWnd()->ShowWindow(
((CPageDlg*)AfxGetMainWnd())->m_page1.m_bMinimized? SW_SHOWMINIMIZED : SW_SHOWNORMAL);
}
void CMyWnd::OnSet() //設置
{
::SendMessage(GetSafeHwnd(),WM_CLOSE,0,0);
((CPageDlg*)AfxGetMainWnd())->m_page1.pWnd =NULL;
delete ((CPageDlg*)AfxGetMainWnd())->m_page1.pWnd;
AfxGetMainWnd()->ShowWindow(SW_SHOWNORMAL);
}
void CMyWnd::OnRefresh() //重新開始
{
if(((CPageDlg*)AfxGetMainWnd())->m_page1.pWnd !=NULL)
{
((CPageDlg*)AfxGetMainWnd())->m_page1.pWnd->ShowWindow(SW_HIDE);
((CPageDlg*)AfxGetMainWnd())->m_page1.pWnd->ShowWindow(SW_SHOWNORMAL);
}
}
void CMyWnd::OnExitAll() //退出程序
{
if(MessageBox("確實要退出嗎?","屏幕作圖",MB_YESNO|MB_ICONQUESTION)==IDYES)
AfxGetMainWnd()->SendMessage(WM_CLOSE,0,0);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -