手动编程Borland图形界面上的可点击按钮
Manually Programming a clickable button on Borland Graphic Interface
我现在正在做一个编辑器,我需要在BGI上做一个可点击的按钮(它必须在上面)。
现在我做了一些类似于使用outtextxy
的事情,给出了坐标,然后我使用mousex
和mousey
得到的坐标制作了if
,如果它等于outtext
的坐标,它就完成了它的工作。
这对我来说仍然不够好,我想创建一个函数,当我使用outtext
时,它会同时创建我创建的if
条件(手动为每个outtext
设置if
条件是一项巨大的编码工作)。
有人能教我如何做这个功能吗?
BGI从来没有被设计成窗口/小部件管理器——它是一个低级的基元库。为了做你想做的事,你需要在上面实现一种WM形式。
对于简单地添加按钮,您只需要一个封装按钮位置的按钮类、绘制按钮的代码、确定(x,y)坐标是否位于按钮内的代码、按钮绘制状态(悬停、按下、正常)和单击事件。
然后,在主循环中,您将希望循环浏览所有按钮,以查看鼠标(x,y)是否位于按钮内。如果鼠标事件是单击,则调用按钮的单击事件。
应用程序中的任何其他小部件类型也是如此,例如文本/编辑窗口。这就是所有窗口/小部件管理器的工作方式。
在应用程序中实现这一点的方式完全取决于您自己。我推荐一个简单的std::vector<BGIWidget>
(或者你给小部件超类起的任何名字)。然后你所需要做的就是循环浏览你的小部件列表,以处理绘图、鼠标悬停/进入/离开/点击事件等。
相关文章:
- 问:如何使用C++中的按钮从窗口打开窗口
- 有一个打印语句的函数是一种糟糕的编程实践吗
- 如何将点击的信号和插槽添加到qt中的自定义按钮中
- QML按钮点击功能执行顺序
- 当用户超过按钮点击限制时报告
- 我是C++编程的新手,这些代码之间有什么区别,我应该使用哪一个
- 函数计算用户按下按钮的频率
- 热键/按钮,根据需要进行编译,但不运行(在F5和Ctrl+Shift+B之间)
- 模板元编程:如何将参数包组合成新的参数包
- 如何以编程方式显示功能区按钮的下拉菜单?
- 在 Visual C++ 中以编程方式更改按钮的背景图像
- 以编程方式在任何按钮上突出显示 Qt 鼠标悬停按钮
- 如何使用 3 个按钮对 Arduino 菜单进行编程?
- 手动编程Borland图形界面上的可点击按钮
- 在MFC中以编程方式设置单选按钮状态
- 对"检查更新"按钮进行编程以确定存储库中的更改
- 用Arduino编程一个简单的按钮LED电路
- 以编程方式从 MFC 工具栏中完全删除按钮
- 如何以编程方式将工具按钮移动到右侧工具栏区域
- 是否有可能在Linux中以编程方式单击另一个应用程序的按钮