利用EasyX绘制按钮,实现按钮的鼠标悬浮、按下、d起效果。
在EasyX现有基础上,实现了widget窗口元素,并用C语言的方式,从widget派生出button(按钮)、label(文本框)等窗口控件,利用container窗口容器进行管理,并封装了鼠标和键盘按键,实现了简易的消息派发机制,使得程序逻辑只需关心按钮被按下的消息事件,而无需做鼠标坐标和图形区域判断。
链接: https://pan.baidu.com/s/1eT_kdtSWlY57GYRlXDroKg
提取码: 1111
要拦截消息的话可以通过SetConsoleCtrlHandler和HandlerRoutine函数(msdn一下),下面是简单例子:#include <Windows.h>
#include <stdio.h>
BOOL MyHandler( DWORD dwCtrlType )
{
if ( dwCtrlType == CTRL_CLOSE_EVENT )
{
printf("Cannot close...\n")
return TRUE
}
return FALSE
}
void main()
{
SetConsoleCtrlHandler((PHANDLER_ROUTINE)MyHandler, TRUE)
printf("Please try to clsoe...\n")
while(1) {}
}
要禁止关闭按钮的话可以直接从系统菜单里移除,比如:
#define _WIN32_WINNT 0x0500
#include <Windows.h>
#include <stdio.h>
void main()
{
DeleteMenu(GetSystemMenu(GetConsoleWindow(), FALSE), SC_CLOSE, MF_BYCOMMAND)
DrawMenuBar(GetConsoleWindow())
printf("Now you cannot close this window...\n")
system("pause")
}
EasyX是一套基于C语言的图形界面库,能够快速地、轻松地绘制图形界面。和Windows图形界面通常使用的MFC和Win32不同,EasyX更加适用于初学者,因为它提供了简单易懂的API函数,并且易于学习和使用。EasyX的特点是写代码少、效果好,绘制出来的图形漂亮、精美,不需要太多的CSS样式和HTML标签就能制作出好看的界面。因此,EasyX已经成为了很多程序员在学习和开发C语言程序时的首选。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)