• C++_系列自学课程_第_2_课_牛刀小试


          看了一天孙鑫老师的视频教程,发现其实在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实现负责应用。

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

  • 相关阅读:
    HDOJ1004
    HDOJ1001
    HDOJ1000
    HDOJ1003
    HDOJ1005
    新手如何正确使用CLion之输出hello world
    hihoCoder#1032 : 最长回文子串
    P3805 【模版】manacher算法(manacher)
    P1198 [JSOI2008]最大数(单调栈)
    P1351 联合权值
  • 原文地址:https://www.cnblogs.com/volcanol/p/2147949.html
Copyright © 2020-2023  润新知