当前位置: 首页 > news >正文

企业网站博客上如何推广干净无广告的搜索引擎

企业网站博客上如何推广,干净无广告的搜索引擎,有产品做推广 选哪个 网站,nginx 安装wordpress上一篇:MFC界面编程基础(05):利用向导创建MFC以及MFC框架中一些重要函数下一篇:MFC界面编程基础(07):文本编程 关于鼠标事件 根据我们前面学过是知识,用MFC向导生成一个…
上一篇:MFC界面编程基础(05):利用向导创建MFC以及MFC框架中一些重要函数下一篇:MFC界面编程基础(07):文本编程

关于鼠标事件

根据我们前面学过是知识,用MFC向导生成一个单文档视图程序。在我们的主框架类中添加WM_LBUTTONDOWN消息的响应函数,具体操作如下:

在这里插入图片描述

从类视图中找到CMainFrame(继承自CFrameWnd),选择此类然后从属性面板中找到消息按钮(上图中标示2),在消息列表中找到WM_LBUTTONDOWN消息,添加,然后看我们的工程文件中都多了些什么???

  • 第一处:在框架类头文件中添加了鼠标左键消息函数的函数声明
    在这里插入图片描述
  • 第二处:在框架类cpp文件中添加了消息映射宏
    在这里插入图片描述
  • 第三处:在框架列cpp文件中添加了处理鼠标左键消息的函数定义:
    -

根据前边我们学过的知识要完成MFC中的消息映射需要我们手动将这三处依次做一个添加,但是使用MFC的类向导我们很容易就能完成一个消息的添加,之后再对应生成的消息函数中做相应的处理即可。
我们再此OnLButtonDown函数中添加一个MessageBox消息,鼠标左键按下弹出一个提示框,然后执行程序。我们会惊奇的发现程序并未如我们所愿弹出消息框,why?我的世界凌乱了。。。
我们先搁置疑问,按照上述操作在视类中捕获鼠标左键消息并处理,看结果会如何?
在这里插入图片描述

此时弹出了对话框,说明视类捕获道理鼠标左键消息。但是为什么框架类捕获不到呢?我们前边在将文档/视图结构的时候说过,框架窗口是视窗口的父窗口,那么视类窗口就应该始终覆盖在框架类窗口之上。就好比框架窗口是一面墙,视类窗口就是墙纸,它始终挡在这面墙前边。也就是说,所有操作,包括鼠标单击、鼠标移动等操作都只能有视类窗口捕获,这也是框架类窗口为什么收不到鼠标左键消息的原因。

绘制线条

我们可以利用MFC提供的CClientDC类来实现这一功能,这个类跟CPaintDC一样,也派生于CDC类。CClientDC是窗口客户区的设备描述环境,它应用在WM_PAINT消息之外的消息处理函数中。我们只需要定义一个CClientDC对象,然后就可以利用该对象提供的函数进行绘图操作了。CClientDC对象构造时接收一个参数,即:要进行图像绘制的窗口指针对象。
CClientDC提供的划线函数:

  • 绘制线条的起始点:MoveTo(CPoint p) p – 起始点坐标
  • 绘制一条到指定点的线:LineTo(CPoint p) p – 终点坐标

在程序的视图窗口用鼠标画一条线:
在视类中定义一CPoint类型成员变量m_oldPoint,添加鼠标左键按下和弹起的消息处理函数,记录鼠标左键按下时的坐标,在鼠标弹起时,通过两个坐标点将线画到视类窗口屏幕区域。

在这里插入图片描述

绘制彩色线条

我们实现的画线功能,绘制的都是黑色的线条。这是因为设备描述表中有一个默认的黑色画笔。如果想要绘制其他颜色的线条,首先需要创建一个特定颜色的画笔,然后将此画笔选入设备描述表中,接下俩绘制的线条的颜色就由这个新画笔决定了。
我们可以通过MFC提供的类CPen来创建画笔对象。

CPen(int nPenStyle,int nWidth,COLORREF crColor);

第一个参数:指定笔的线型(实线、点线、虚线等)
第二个参数:线的宽度
第三个参数:颜色,是一个RGB宏
COLORREF RGB(BYTE bRed,BYTE bGreen,BYTE bBlue)

当构建一个GDI(图形设备接口)对象后,该对象并不会马上生效,必须选入设备描述表,它才会在以后的操作中生效。可以使用SelectObject函数把GDI对象选入设备描述表中,并且该函数会返回指向先前备选对象的指针,这主要是为了完成当前绘制之后再次利用SelectObject把先前的GDI对象选入设备描述表,以便使其恢复到先前状态。

在这里插入图片描述

绘制连续线条

如果我们想让程序实现Windows画图板那样的画线功能,应如何实现?
为了绘制连续的线条,首先需要得到线条的起点,前面我们已经实现了。然后需要捕获鼠标移动过程中的每个点,这可以通过捕获鼠标移动消息(WM_MOUSEMOVE)来实现。在此消息相应函数中,在依次捕获的各个点之间绘制一条非常短的线段,从而就可以绘制出一条连续的线条。

思路:

  • 需要一变量来标识鼠标左键是否按下这一状态
  • 在鼠标移动消息响应函数中,如果鼠标是按下状态就开始绘图,弹起之后停止绘图。

在视类头文件中添加私有成员变量:
BOOL m_bDraw;
在视类构造函数中将此变量初始化为FALSE
m_bDraw = FALSE;
当鼠标左键按下去时,在视类的OnLButtonDown函数中将此变量初始化为真
m_bDraw = TRUE;
当鼠标左键弹起,在视类的OnLButtonUp函数中将此变量初始化为假
m_bDrae = FALSE;
在视类的OnMouseMove函数中完成线段的绘制
在这里插入图片描述

CDC类中封装的绘图函数还有很多,直接通过CDC类对象调用直接使用即可,可以通过CPen来调节样式,图形函数的参数可参考具体的API使用文档。
在这里插入图片描述

使用画刷绘图

在默认情况下由Rectangle、Ellipse以及其它CDC输出函数画出的封闭图形填充着白色像素点。通过创建GDI画刷并在画图之前将它选入设备描述表可以改变图形的填充颜色。MFC的CBrush类封装了GDI画刷。
画刷有三种基本类型:单色,带阴影线,带图案。单色画刷填充的是单色,阴影线画刷采用预先定义好的交叉线图案填充图形,这中图案有六种,图案画刷用位图来填充图形。
CBrush类为每种画刷提供了一个构造函数。

  • 单色:CBrush( COLORREF crColor );
    crColor 指定画刷的前景色(RGB方式)。
  • 阴影:CBrush( int nIndex, COLORREF crColor );
    nIndex 指定画刷阴影线采用的风格,取值如下:
  • HS_BDIAGONAL 45度的向下影线(从左到右)
  • HS_CROSS 水平和垂直方向以网格线作出阴影
  • HS_DIAGCROSS 45度的网格线阴影
  • HS_FDIAGONAL 45度的向上阴影线(从左到右)
  • HS_HORIZONTAL 水平的阴影线
  • HS_VERTICAL 垂直的阴影线
    creColor指定的阴影线的颜色。
  • 图案:CBrush( CBitmap*pBitmap );
    pBitmap 指向CBitmap对象的指针,该对象指定了画刷要绘制的位图。

说明:

类CBrush一共有四个覆盖的构造函数。不带参数的那个构造函数构造一个未初始化的CBrush对象,在使用该对象之前需要另外初始化。
如果使用了不带参数的那个构造函数,则必须用CreateSolidBrush、CreateHatchBrush、CreateBrushIndirect、CreatePatternBrush或CreateDIBPatternBrush来初始化返回的CBrush对象。如果使用了带参数的构造函数,则不再需要初始化CBrush对象。带参数的构造函数在出错时会产生一个异常,而不带参数的构造函数总是成功返回。
只带有一个参数COLORREF的构造函数用指定的颜色构造一个实线型的画刷。颜色是一个RGB值,可以用WINDOWS.H中的宏RGB构造出来。
带两个参数的构造函数构造一个阴影线型的画刷,参数:nIndex指定了阴影线模式的指数(index)。参数:crColor指定了画刷的颜色。
带有一个CBitmap型参数的构造函数构造一个模式化的画刷。参数指定一个位图。该位图应该是已经用CBitmap::CreateBitmap、CBitmap::CreateBitmapIndirect、CBitmap::LoadBitmap或CBitmap::CreateCompatiableBitmap建立或加载的位图。填充模式下的位图的最小尺寸为8像素×8像素。

上一篇:MFC界面编程基础(05):利用向导创建MFC以及MFC框架中一些重要函数下一篇:MFC界面编程基础(07):文本编程
http://www.zhongyajixie.com/news/45521.html

相关文章:

  • 怎样用dw做网站重庆发布的最新消息今天
  • 网站怎么做响应广州网络推广哪家好
  • 去掉博客网站链接后面的wordpress网站建设技术外包
  • 仁怀企业网站建设seox
  • 三亚市海棠湾幵发建设有限公司网站电子商务与网络营销教案
  • 网站建设的编程语言一份完整的营销策划方案
  • 手机网站宽度多少合适域名关键词查询
  • wordpress创建企业网站如何查询百度收录情况
  • 南通做网站多少钱seo经理招聘
  • 做网站的动态图片百度指数资讯指数
  • 龙湾区网站制作公司廊坊网站设计
  • 网业协同什么意思seo和sem分别是什么
  • 建设一个视频网站需要什么时候开始天气预报最新天气预报
  • 淮北建设投资有限责任公司官网宁波如何做抖音seo搜索优化
  • 自助购物网站怎么做广州网站运营
  • 记事本里做网站 怎么把字体软件开发交易平台
  • 如何搭建英文网站东莞最新消息今天
  • 建设网站收费电脑培训机构哪个好
  • 网站建站要多少钱网站外链购买
  • 论文引用网站怎样做脚注40个免费靠谱网站
  • 如何下载网站模版网推什么平台好用
  • 网站开发设计课程百度广告代运营
  • 挣钱做任务的网站全网网站推广
  • 抖音seo推广seo效果检测步骤
  • 甘肃 网站建设sem搜索引擎营销是什么
  • 特价主机网站空间租用建站之星
  • 世界做诡异的地方网站aso优化平台有哪些
  • 公司做网站让拍照备案搜索竞价
  • 中国网络营销公司重庆seo顾问
  • 孔宇seo游戏行业seo整站优化