void CMouseDrawView::OnDrawLine()
{
// TODO: Add your command handler code here
DrawType = 1;
}
void CMouseDrawView::OnDrawLinewidth()
{
// TODO: Add your command handler code here
CLineWidthSetDlg dlg(this);
dlg.m_linewidth = linewid;
if (dlg.DoModal() == IDOK)
{
linewid = dlg.m_linewidth;
}
}
void CMouseDrawView::OnDrawRect()
{
// TODO: Add your command handler code here
DrawType = 2;
}
void CMouseDrawView::OnDrawColor()
{
// TODO: Add your command handler code here
CColorDialog dlg;
// dlg.m_cc.Flags |= CC_RGBINIT;
// dlg.m_cc.rgbResult = color;
if (dlg.DoModal() == IDOK)
{
color = dlg.GetColor();
}
}
void CMouseDrawView::OnLButtonDown(UINT nFlags, CPoint
point)
{
// TODO: Add your message handler code here and/or call
default
BeginDraw = true;
Startpt = point;
Endpt = point;
//CView::OnLButtonDown(nFlags, point);
}
void CMouseDrawView::OnLButtonUp(UINT nFlags, CPoint
point)
{
// TODO: Add your message handler code here and/or call
default
if (BeginDraw)
{
CPen pen(PS_SOLID, linewid, color);
CPen* ppen = dc.SelectObject(&pen);
CBrush* pbrush =
(CBrush*)dc.SelectStockObject(NULL_BRUSH);
switch(DrawType)
{
case 1:
dc.MoveTo(Startpt);
dc.LineTo(Endpt);
break;
case 2:
dc.Rectangle(CRect(Startpt, Endpt));
break;
default:
break;
}
BeginDraw = false;
dc.SelectObject(pbrush);
dc.SelectObject(ppen);
CClientDC DCC(this);
HMETAFILE hmetafile;
hmetafile = dc.Close();
DCC.PlayMetaFile(hmetafile);
dc.Create();
dc.PlayMetaFile(hmetafile);
DeleteMetaFile(hmetafile);
}
//CView::OnLButtonUp(nFlags, point);
}
void CMouseDrawView::OnMouseMove(UINT nFlags, CPoint
point)
{
// TODO: Add your message handler code here and/or call
default
if (BeginDraw)
{
CClientDC m_dc(this);
CPen pen(PS_SOLID, linewid, color);
CPen* ppen = m_dc.SelectObject(&pen);
DrawModal = m_dc.SetROP2(R2_NOTXORPEN);
switch(DrawType)
{
case 1:
m_dc.MoveTo(Startpt);
m_dc.LineTo(Endpt);
m_dc.MoveTo(Startpt);
m_dc.LineTo(point);
Endpt = point;
break;
case 2:
m_dc.Rectangle(CRect(Startpt, Endpt));
m_dc.Rectangle(CRect(Startpt, point));
Endpt = point;
break;
default:
break;
}
m_dc.SelectObject(ppen);
m_dc.SetROP2(DrawModal);
}
//CView::OnMouseMove(nFlags, point);
}
void CMouseDrawView::OnInput()
{
// TODO: Add your command handler code here
CWordSetDlg dlg(this);
if (dlg.DoModal() == IDOK)
{
message = dlg.m_message;
Fontstyle = dlg.m_fontstyle;
startpt = CPoint(dlg.m_startx, dlg.m_starty);
Invalidate();
}
}
void CMouseDrawView::OnUpdateDrawLine(CCmdUI*
pCmdUI)
{
// TODO: Add your command update UI handler code here
if (DrawType == 1)
{
pCmdUI->SetCheck(1);
}
else
{
pCmdUI->SetCheck(0);
}
}
void CMouseDrawView::OnUpdateDrawRect(CCmdUI*
pCmdUI)
{
// TODO: Add your command update UI handler code here
if (DrawType == 2)
{
pCmdUI->SetCheck(1);
}
else
{
pCmdUI->SetCheck(0);
}
}
void CMouseDrawView::OnFileOpen()
{
// TODO: Add your command handler code here
CFileSaveDlg dlg;
if (dlg.DoModal() == IDOK)
{
dlg.m_filename += ".wmf";
HMETAFILE hmetafile = GetMetaFile(dlg.m_filename);
dc.PlayMetaFile(hmetafile);
DeleteMetaFile(hmetafile);
Invalidate();
}
}
void CMouseDrawView::OnFileSave()
{
// TODO: Add your command handler code here
CFileSaveDlg dlg;
if (dlg.DoModal() == IDOK)
{
dlg.m_filename += ".wmf";
HMETAFILE hmetafile;
hmetafile = dc.Close();
CopyMetaFile(hmetafile, dlg.m_filename);
dc.Create();
//dc.PlayMetaFile(hmetafile);
DeleteMetaFile(hmetafile);
}
}
void CMouseDrawView::OnFileSaveAs()
{
// TODO: Add your command handler code here
CFileSaveDlg dlg;
if (dlg.DoModal() == IDOK)
{
dlg.m_filename += ".wmf";
HMETAFILE hmetafile;
hmetafile = dc.Close();
CopyMetaFile(hmetafile, dlg.m_filename);
dc.Create();
//dc.PlayMetaFile(hmetafile);
DeleteMetaFile(hmetafile);
}
}