C语言怎样实现鼠标事件,纯C可不可以?

C语言怎样实现鼠标事件,纯C可不可以?,第1张

我猜你说的纯C指的是标准C(Standard C)。如果是这样的话,我可以明确告诉你确实没有鼠标事件。

标准C库的所有头文件可以参照官方网站,里面有各头文件中包含函数功能比较详细的说明。

关于鼠标我要说一下,图形界面不是计算机运行的必需模块, *** 作系统甚至可以没有鼠标驱动。上过计算机 *** 作系统课之后你应该知道,一个 *** 作系统能够跑起来,只需要有各进程调度和资源分配,并不依赖图形界面。每个进程在设计的时候可以自由选择自己需要的函数库进行封装链接(或者运行时动态链接)。比方说你写个程序只需要计算1+1,那么要图形界面模块有啥用呢?

图形用户交互界面(GUI)其实也是特殊的函数库,如果 *** 作系统支持(或者说 *** 作系统中有安装相关函数库的话),则可以在程序中包含头文件进行调用。

如果是正经学计算机的,建议先放下图形交互,放下Windows(当然我没说它不好),尝试接触下OSX以及Linux,你会有比较大的收获。

主要思路如下:

“取车”按钮:

判断当前是否有车(总车位不等于300),没车的时候提示并返回;

有车时,判断1层是否有车(1层车位不等于140),1层有车则1层车位数+1,否则2层车位数+1;

“存车”按钮类似。

伪代码如下:

void btnGet_click(object sender,event e) //“取车”按钮点击方法

//VS的话,方法名称一般可以通过界面双击控件自动生成

{

  if(iParkingNum==300)   //总车位为300(没车)

  {

    MessageBox.Show("没车提示","提示标题")

    return

  }

  if(iLv1ParkingNum<140)  //1层车位小于140(有车)

    iLv1ParkingNum+=1  //1层车位+1

  else

    iLv2ParkingNum+=1  //2层车位+1

}

void btnPut_click(object sender,event e) //“存车”按钮点击方法

{

  if(iParkingNum<1)   //总车位为0(车位已满)

  {

    MessageBox.Show("没车位提示","提示标题")

    return

  }

  if(iLv1ParkingNum>0)  //1层车位大于0(有车位)

    iLv1ParkingNum-=1  //1层车位-1

  else

    iLv2ParkingNum-=1  //2层车位-1

}

以上,有其他问题请追问。

void OnLButtonDblClk(UINT nFlags, CPoint point)你确定要为CEdit控件添加鼠标响应事件?

右击改控件->"属性",找到

 

那个闪电状图标,点击 

在对应的后面下拉,“添加OnXXXX()”

但是没有鼠标事件NM_DBLCLK。

如真要添加,须在.h和.cpp文件分别添加:

DECLARE_MESSAGE_MAP()

afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point)

BEGIN_MESSAGE_MAP(CPlot, CStatic)

ON_WM_LBUTTONDBLCLK()

END_MESSAGE_MAP()

并实现void OnLButtonDblClk(UINT nFlags, CPoint point)这个函数

希望能有帮助


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11883598.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存