第七章 鼠标(CHECKER1)

如果客户区的宽度和高度不能被5整除,客户区的左边或底部就会出现一个小长条区域,不被举行覆盖。在这片区域进行鼠标单击时,CHECKER1程序会调用MessageBeep函数进行响应。

     哈哈哈..........

图片 1图片 2

    哈哈哈哈................原来windows下的程序设计有C的基础,加上学习一大堆windows定义各种API函数, 加上一些运行机制的理解,就算是菜鸟级的不入门的程序编程人员(就像我似的)也能实现一个简单的应用....................

图片 3

        3、如果程序呼叫InvalidateRect使显示区域中的矩形失效,则InvalidateRect函数的最后一个参数会指定是否擦除背景。如果这个参数为FALSE
           则windows不会擦除背景,并且在呼叫完BeginPaint后将置 ps.fErase=TRUE 非零。
           在处理WM_PAINT消息时,如果需要在无效区域外进行重绘,可以呼叫InvalidateRect函数:
            Exp:
                 InvalidateRect(hwnd,NULL,TRUE);
            在BeginPaint函数之前呼叫InvalidateRect函数使整个显示区域变为无效,并擦除背景;但如果最后一个参数等于FALSE,则不会擦除背景,窗口
            中原有的信息还保留在原处。
        4、RECT rcPaint 是一个RECT型的结构体, PAINTSTRUCT结构中的rcPaint成员定义了无效区域的边界。

CHECKER1程序将客户区划分成25个矩形,构成一个5*5的数组。如果在其中一个矩形内单击鼠标,就用X形填充该矩形。再次单击,则X形消失。

     前面的一篇文章里面,我模仿那本经典的书写了一个windows程序, 对windows的程序设计有了一点点的感性认识, 但是对于程序的设计还是一知半解,因此需要继续自学, 接着看那本经典的书......

CHECKER1.C

前面的内容简单的描述了利用BeginPaint和EndPaint函数来处理WM_PAINT消息的机制,理解不到位的地方请各位见谅。

本文由最新澳门网站网址游戏发布于产品展示,转载请注明出处:第七章 鼠标(CHECKER1)

您可能还会对下面的文章感兴趣: