void CHMouseView::OnMouseMove(UINT nFlags, CPoint point)
{
if ( m_rect.PtInRegion(point) )&&(m_bDraw)))
{
m_nEnd = point;
if ( m_bDown )
{
CDC* pDC = GetDC();
pDC->MoveTo(m_nStart);
pDC->LineTo(m_nEnd);
ReleaseDC(pDC);
m_bDraw = true;
}
m_nStart = m_ntEnd;
m_bDraw=true;
CDC*pDC=GetDC();
CFont hFont;
hFont.CreateFont(60, 0, 0, 0, FW_BOLD, FALSE, FALSE,0,0,0,0,0,0, "Vineta BT");
pDC->SelectObject(&hFont);
pDC->TextOut(150,10,"good");
}
if(! m_rect.PtInRegion( point)&&(m_bDraw))
{
m_bDraw = true;
CDC* pDC = GetDC();
CFont hFont;
hFont.CreateFont(60, 0, 0, 0, FW_BOLD, FALSE, FALSE,0,0,0,0,0,0, "Vineta BT"); //
pDC->SelectObject(&hFont);
pDC->TextOut(250,10,"bad");
}
请大家帮帮忙看看代码,我的目的就是用一個变量記錄下來,让鼠标在(rect)区域里画线,在每次画线中,若鼠标都在这个区域画线,结束时就显示GOOD,如果鼠标在画线时超过区域外,就显示bad,如果当鼠标移到区域外时检测到bad,若鼠标又回到区域内时,就不進行檢測,也就是不做任何處理。
// 這樣它移回來,就表示为无效吧,
这样能否解决,请高手们有一点代码提示一下 谢!!!!
{
if ( m_rect.PtInRegion(point) )&&(m_bDraw)))
{
m_nEnd = point;
if ( m_bDown )
{
CDC* pDC = GetDC();
pDC->MoveTo(m_nStart);
pDC->LineTo(m_nEnd);
ReleaseDC(pDC);
m_bDraw = true;
}
m_nStart = m_ntEnd;
m_bDraw=true;
CDC*pDC=GetDC();
CFont hFont;
hFont.CreateFont(60, 0, 0, 0, FW_BOLD, FALSE, FALSE,0,0,0,0,0,0, "Vineta BT");
pDC->SelectObject(&hFont);
pDC->TextOut(150,10,"good");
}
if(! m_rect.PtInRegion( point)&&(m_bDraw))
{
m_bDraw = true;
CDC* pDC = GetDC();
CFont hFont;
hFont.CreateFont(60, 0, 0, 0, FW_BOLD, FALSE, FALSE,0,0,0,0,0,0, "Vineta BT"); //
pDC->SelectObject(&hFont);
pDC->TextOut(250,10,"bad");
}
请大家帮帮忙看看代码,我的目的就是用一個变量記錄下來,让鼠标在(rect)区域里画线,在每次画线中,若鼠标都在这个区域画线,结束时就显示GOOD,如果鼠标在画线时超过区域外,就显示bad,如果当鼠标移到区域外时检测到bad,若鼠标又回到区域内时,就不進行檢測,也就是不做任何處理。
// 這樣它移回來,就表示为无效吧,
这样能否解决,请高手们有一点代码提示一下 谢!!!!
解决方案 »
- 单文档CListCtrl的ON_NOTIFY_REFLECT无效
- 新手求教内存不足问题
- 关于界面程序开发的技术
- 程序建立一种文件(比如后缀为.PAT),双击该文件就打开程序,而如何在WINDOWS中设置该文件的显示图标?
- 登陆遇到88888,散分提问:谁知道ScrollWindow的详细用法呀?主要是参数。英语的看不懂!
- 彩色图象二值化的问题
- 请问如何从网络上下载程序到指定的位置?
- 这是什么病毒?(net.exe,cmd.exe)
- 〉》》》》怎样取得打印机分辨率?《〈〈〈〈
- 给分多多!请教,borland c++ 程序怎么移植到vc++下
- 关于FAR
- 请问VB写的ActiveX组件在VC中怎么调用?
{
static BOOL bBad = FALSE;
if (m_bDraw)
{
m_bDraw = true;
CDC*pDC=GetDC();
if ( m_rect.PtInRegion(point) )
{
m_nEnd = point;
if ( m_bDown )
{
pDC->MoveTo(m_nStart);
pDC->LineTo(m_nEnd);
}
m_nStart = m_ntEnd;
}
else
{
bBad = TRUE;
}
CFont hFont;
hFont.CreateFont(60, 0, 0, 0, FW_BOLD, FALSE, FALSE,0,0,0,0,0,0, "Vineta BT");
CFont* pOldFont = pDC->SelectObject(&hFont);
pDC->TextOut(150,10, bBad ? "bad " : "good");
pDC->SelectObject(pOldFont);
ReleaseDC(pDC);
}
}
还有一小问题,当一次画线结束时,显示的是ba狀態时,重新第二次画线测试时还是显示bad呀,
是不是在那个地方有一点小问题呀,我查不出来,
谢谢了,马上给你送分!!!!
是不是在那个地方有一点小问题呀,我查不出来,
謝謝