zoukankan      html  css  js  c++  java
  • 鼠标控制绘图

     1 /*先写个代码对比一下:
     2 获取按键: 获取鼠标:
     3 char c; MOUSEMSG m;
     4 if (kbhit()) if (MouseHit())
     5 c = getch(); m = GetMouseMsg();*/
     6 /*通过该结构体,我们可以获取鼠标的如下信息:
     7 struct MOUSEMSG
     8 {
     9 UINT uMsg; // 当前鼠标消息
    10 bool mkCtrl; // Ctrl 键是否按下
    11 bool mkShift; // Shift 键是否按下
    12 bool mkLButton; // 鼠标左键是否按下
    13 bool mkMButton; // 鼠标中键是否按下
    14 bool mkRButton; // 鼠标右键是否按下
    15 int x; // 当前鼠标 x 坐标
    16 int y; // 当前鼠标 y 坐标
    17 int wheel; // 鼠标滚轮滚动值
    18 };
    19 其中,“当前鼠标消息”可能是以下值:
    20 WM_MOUSEMOVE 鼠标移动消息
    21 WM_MOUSEWHEEL 鼠标滚轮拨动消息
    22 WM_LBUTTONDOWN 左键按下消息
    23 WM_LBUTTONUP 左键弹起消息
    24 WM_LBUTTONDBLCLK 左键双击消息
    25 WM_MBUTTONDOWN 中键按下消息
    26 WM_MBUTTONUP 中键弹起消息
    27 WM_MBUTTONDBLCLK 中键双击消息
    28 WM_RBUTTONDOWN 右键按下消息
    29 WM_RBUTTONUP 右键弹起消息
    30 WM_RBUTTONDBLCLK 右键双击消息*/
    31 #include<graphics.h>
    32 #include<conio.h>
    33 int main()
    34 {
    35     initgraph(640,480);//初始化图形窗口
    36     MOUSEMSG m;//定义鼠标消息
    37     while(true)
    38     {
    39         m=GetMouseMsg();//获取一条鼠标消息
    40         switch(m.uMsg)
    41         {
    42         case WM_MOUSEMOVE:putpixel(m.x,m.y,RED);break;//鼠标移动的时候画红色的圆点
    43         case WM_LBUTTONDOWN:
    44                     if(m.mkCtrl)
    45                         rectangle(m.x-15,m.y-15,m.x+15,m.y+15);//如果点鼠标左键的同时按下CTRL画大方块
    46                         else
    47                         rectangle(m.x-5,m.y-5,m.x+5,m.y+5);break;//否则画小方块
    48         case WM_RBUTTONUP:return;//按鼠标右键退出
    49         }
    50     }
    51     getch();
    52     closegraph();
    53 }
    View Code
  • 相关阅读:
    IBatis学习总结之动态拼sql
    IBatis学习总结
    帝都残暴的.net 之旅 (Martin Fowler 有留言哦)
    简洁实用的WordPress模板
    发现一位同行特牛
    app爬虫--mitmproxy用法梳理
    [转]数据库设计中的14个技巧
    [转] sql数据类型 varchar与nvarchar的区别
    web工作原理
    Xcode6 LaunchImage尺寸
  • 原文地址:https://www.cnblogs.com/firstsy0709/p/3646238.html
Copyright © 2011-2022 走看看