volcanol的工控博客
Email : lilinly225@126.com 索要资料加QQ 点击进入 或 点击左侧的资料分享专用帖

volcanol ---- View OF Linux Can Appreciate Nature OF Linux

天行健,君子以自强不息

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

      看了一天孙鑫老师的视频教程,发现其实在VC++中利用MFC进行编程也可以拦截消息,通过建立消息

映射来处理消息。

      嘿嘿,根据老师讲的内容,自己测试了书中的代码。

      发现XP和2000对处理客户区的范围不一样。

 void CDrawView::OnLButtonUp(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default

/////////////
/*
   用全局函数实现画线功能
*/
/*
	HDC hdc;
	hdc=::GetDC(this->m_hWnd),
		::MoveToEx(hdc,m_point.x,m_point.y,NULL);
	::LineTo(hdc,point.x,point.y);
	::ReleaseDC(m_hWnd,hdc);
*/	
///////////
/*
    利用CDC类实现画线功能
*/
/*
     CDC *pdc=GetDC();
     pdc->MoveTo(m_point);
	 pdc->LineTo(point);
	 ReleaseDC(pdc);
*/
////////////
/*
  利用CClientDC类实现画线功能
*/
/*
    CClientDC dc(this);
	dc.MoveTo(m_point.x,m_point.y);
	dc.LineTo(point);
*/
/*
    CClientDC dc(GetParent());
	dc.MoveTo(m_point);
	dc.LineTo(point);
*/
/////////////////
/*
   利用CwindowDC类画线
*/
/*
	CWindowDC dc(this);
	dc.MoveTo(m_point);
	dc.LineTo(point);
*/
/*
	CWindowDC dc(GetDesktopWindow());
	dc.MoveTo(m_point);
	dc.LineTo(point);
	dc.TextOut(100,100,"Volcanol",strlen("Volcanol"));
*/
/////////////////
/*
   绘制彩色的线条
*/
//利用CPen类进行彩色绘图
/*
	CPen pen(PS_SOLID,5,RGB(255,43,123));
	CClientDC dc(this);
	CPen *oldpen=dc.SelectObject(&pen);
	dc.MoveTo(m_point);
	dc.LineTo(point);
	dc.SelectObject(&oldpen);
*/

//////////////
/*
   利用画刷绘图
*/
/*
	CBrush brush(RGB(100,23,255));  //创建画刷
    CClientDC dc(this);             //获取客户区域的设备内容
	dc.FillRect(CRect(m_point,point),&brush);  //填充区域
*/
 
//////////////////
/*
   利用位图画刷绘图
*/
/*
	CBitmap bitmap;
	bitmap.LoadBitmap(IDB_BITMAP1);
        CBrush brush(&bitmap);
	CClientDC dc(this);             //获取客户区域的设备内容
	dc.FillRect(CRect(m_point,point),&brush);  //填充区域
*/

如果对MFC和winapi 都很熟悉那么使用VC开发一个应用程序还是挺快捷的,

利用MFC建立界面,而利用winapi实现负责应用。

其实可以通过自己封装来实现一个程序架构的。

posted on 2011-08-21 17:36  volcanol  阅读(265)  评论(1编辑  收藏  举报
volcanol ----View OF Linux Can Appreciate Nature OF Linux。