?? jutool.cpp
字號:
#include "StdAfx.h"
#include ".\jutool.h"
#using <mscorlib.dll>
#include "juobj.h"
#include "visdrawdoc.h"
#include "visdrawview.h"
CJuTool::CJuTool(void)
{
}
CJuTool::~CJuTool(void)
{
}
CJuTool::CJuTool(DrawShape drawShape)
: CDrawTool(drawShape)
{
pObj = NULL;
}
void CJuTool::OnLButtonDown(CVisDrawView* pView, UINT nFlags, const CPoint& point)
{
// TODO: 在此添加消息處理程序代碼和/或調用默認值
double ptx, pty;
CPoint local = point;
CPoint lastpoint;
/*根據當前的狀態決定做的事情*/
//CClientDC dc(this);
//把設備坐標轉化為邏輯坐標
pView->ClientToDoc(local);
//把邏輯坐標轉化為實際坐標
pView->ClientToWorld(local, ptx,pty);
//申請與視圖窗口相關的設備描述表
CDC* dc=pView->GetDC();
int pic;
pic=pView->m_picIDju;
CBitmap bitmap;
bitmap.LoadBitmap(pic);
CDC dcComp;
dcComp.CreateCompatibleDC(dc);
dcComp.SelectObject(&bitmap);
BITMAP bmInfo;
bitmap.GetObject(sizeof(bmInfo),&bmInfo);
// pObj->Draw(pView,idBitmap,pDC);
dc->BitBlt(point.x,point.y,bmInfo.bmWidth,bmInfo.bmHeight, &dcComp, 0,0,SRCCOPY);
pObj = new CJuObj(CRect(local, CSize(0, 0)));
//把第一次按下的鼠標點設置為矩形左上角
pObj->SetPoint(1,ptx,pty);
pObj->CalcBounds(pView);
pView->ClientToDoc(lastpoint);
lastpoint.x=local.x+bmInfo.bmWidth;
lastpoint.y=local.y+bmInfo.bmHeight;
//把邏輯坐標轉化為實際坐標
pView->ClientToWorld(lastpoint, ptx,pty);
pObj->SetPoint(2,ptx,pty);
pView->Invalidate();
pObj->CalcBounds(pView);
pView->GetDocument()->Add(pObj);
/*
pObj->m_RectTracker.m_rect;
pObj->m_RectTracker.m_nStyle=CRectTracker::resizeInside;
if(pObj->m_RectTracker.Track(this,point,FALSE,NULL))
{
pObj->m_RectLP=pObj->m_RectTracker.m_rect;
dc.DPtoLP(pObj->m_RectLP);
pObj->rect=pObj->m_RectLP;
}
*/
lastPoint=point;
prePoint=point;
pView->ReleaseDC(dc);
}
void CJuTool::OnLButtonUp(CVisDrawView* pView, UINT nFlags, const CPoint& point)
{
}
void CJuTool::OnMouseMove(CVisDrawView* pView, UINT nFlags, const CPoint& point)
{
/*double ptx, pty;
CPoint local = point;
//把設備坐標轉化為邏輯坐標
pView->ClientToDoc(local);
pView->ClientToWorld(local, ptx,pty);
CDC* dc=pView->GetDC();
dc->SetROP2(R2_NOT);
dc->SelectStockObject(NULL_BRUSH);
CBitmap bitmap;
bitmap.LoadBitmap(m_picID);
CDC dcComp;
dcComp.CreateCompatibleDC(dc);
dcComp.SelectObject(&bitmap);
BITMAP bmInfo;
bitmap.GetObject(sizeof(bmInfo),&bmInfo);
//將圖片顯示到視圖中間
dc->BitBlt(local.x,local.y,bmInfo.bmWidth,bmInfo.bmHeight, &dcComp, 0,0,SRCCOPY);
prePoint=point;
pView->ReleaseDC(dc);
*/
}
void CJuTool::OnLButtonDblClk(CVisDrawView* pView, UINT nFlags, const CPoint& point)
{
CDrawTool::OnLButtonDblClk(pView, nFlags, point);
}
//void CCheTool::OnInitialUpdate(void)
//{
/*CDC* pDC=GetDC();
m_pMemDC->CreateCompatibleDC(pDC);
m_pBmp->LoadBitmap(IDB_CHE);
m_pMemDC->SelectObject(m_pBmp);
ReleaseDC(pDC);
*/
//}
void CJuTool::CreateObj(CVisDrawView* pView, const CPoint& point)
{
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -