Page 260~264 11.3.2 wxWidgets GUI项目例子

打开,wx28_guiMain.h

Page 260~264 11.3.2 wxWidgets GUI项目例子_第1张图片

30,31,32分别是关闭,退出,和“关于”事件,分别对应着关闭,退出和About三个菜单的出发时间

我们在35,27行分别写OnMotion和OnPaint两个函数,入参都是鼠标事件,分别对应着鼠标移动和绘图两个函数。

41行,用两个私有成员记录,鼠标的当前位置。

在源文件中实现这两个函数

鼠标移动时获得鼠标当前的位置,记录到两个私有成员xPos和yPos中

鼠标移动时,会产生wxMouseEvent事件,触发OnMotion函数

第108行,Refresh()相当于,win_32鼠标移动事件中的::InvalidateRect(hwnd, NULL, TRUE)

Page 260~264 11.3.2 wxWidgets GUI项目例子_第2张图片

鼠标移动时,会产生wxMouseEvent事件,同样会触发OnPaint函数。此函数会将鼠标位置画在窗口上。

Page 260~264 11.3.2 wxWidgets GUI项目例子_第3张图片

在事件表中,绑定鼠标事件和两个函数,这样当鼠标事件发生时,才会触发两个函数

Page 260~264 11.3.2 wxWidgets GUI项目例子_第4张图片

运行效果如下:

Page 260~264 11.3.2 wxWidgets GUI项目例子_第5张图片

你可能感兴趣的:(《白话C++》学习,《白话C++》第11章,GUI,c++,windows,ui)