
函数
晚晶
正在工作
展开
-
[C++/easyx]保存包含鼠标图标的屏幕图片
为了写一个含鼠标的录屏软件,我研究了一下关于鼠标的相关资料,最终写出了这么一个自制函数实现获取含鼠标图标的屏幕图片。以下是函数内容:#include <Windows.h>#include <graphics.h>void SaveImage() { //获取屏幕宽高 int xScreen = GetSystemMetrics(SM_CXSCREEN); int yScreen = GetSystemMetrics(SM_CYSCREEN); //定义成果图的宽.原创 2021-04-04 12:32:13 · 741 阅读 · 0 评论 -
[C++/easyx]自适应矩形字符串
函数本体:void TextInRect(LPCTSTR str, int x, int y, int padding = 5) { LOGFONT font; gettextstyle(&font); int textHeight = font.lfHeight; int textWidth = textHeight; int strWidth = 0; int strNum = lstrlen(str); for (int i = 0; i < strNum; ++i)原创 2021-03-18 18:18:58 · 581 阅读 · 0 评论 -
[C++/easyx]矩形内水平垂直居中字符串
函数本体:void TextInRect(LPCTSTR str, int x, int y, int width, int height, bool horizontal = true, bool vertical = true) { LOGFONT font; gettextstyle(&font); int textHeight = font.lfHeight; int textWidth = textHeight; int strWidth = 0; int strNum =原创 2021-03-18 18:15:15 · 1801 阅读 · 2 评论 -
在程序旁边或指定路径下创建指定文件夹
直入主题所需头文件:#include <Windows.h>#include <direct.h>核心函数:_mkdir功能函数如下:bool CreatFolder(const TCHAR *Path) { int i; TCHAR file[MAX_PATH]{ 0 }; for (i = 0; Path[i] != '\0'&&Path[i] != '\\';++i) { if (':'== Path[i]) { i = -1;.原创 2020-05-19 09:24:30 · 590 阅读 · 0 评论 -
[Easyx]一个使图像根据alpha透明程度输出的函数
直入正题一般的,除了精灵图和掩码图这种间接输出人物之外,还可以通过下面的方法来直接输出人物:void putpicture(int dstx, int dsty, IMAGE *img, COLORREF color){ DWORD *imgp = GetImageBuffer(img); DWORD *bgimgp = GetImageBuffer(); int w, bw, h, i, j; w = img->getwidth(); bw = getwidth(); h = .原创 2020-05-18 23:02:18 · 2458 阅读 · 4 评论 -
[C++]打开文件选择的图形界面,然后返回所选择的文件或文件夹路径
参考了下列文章:https://docs.microsoft.com/zh-cn/windows/win32/api/shlobj_core/ns-shlobj_core-browseinfoa?redirectedfrom=MSDNhttps://www.cnblogs.com/qingtian224/p/5566901.htmlhttps://www.cnblogs.com/it-duit/p/6026907.html头文件:#include <Windows.h>#includ原创 2020-05-16 15:35:31 · 3442 阅读 · 0 评论 -
[Easyx]输出扇形图形(可以指定从某轴开始,且能指定转向)
前言:最近在做进度条,发现easyx库里的画扇形函数不太合适,于是自己造了一个能够输出扇形的图形输出函数,来帮助自己写进度条,今天写完,在此分享给各位。函数需要一个如下的宏定义:#define Check_Circle(px,py,x,y,r) ((((px)-(x))*((px)-(x))+((py)-(y))*((py)-(y)))<=(r)*(r)?1:0)//判断该点是否在该圆中函数原型:void putpie(int x,int y, //扇形中心坐标int r, //扇.原创 2020-05-14 20:08:59 · 1260 阅读 · 0 评论 -
如何得知本窗口不再是最前的窗口[游戏暂停检测]
我们知道,有这么一个函数:GetForegroundWindow()可以获得当前前景窗口。因此,配合宏参数,我们可以构建这么一个宏:#define CheckForegroundWindow(hWnd) ((hWnd==GetForegroundWindow())?1:0)这里,我用easyx创建的窗口时获得的窗口句柄来举例,代码如下:#include <graphics.h>...原创 2020-05-03 08:08:02 · 329 阅读 · 0 评论 -
[C++]一个操作注册表使得程序开机(设置/取消)自启动的函数
引言:今天专门写了一个用来设置注册表的函数能够设置或者删除程序的注册表信息以达到开机自启动或者取消开机自启动的目的。那么开始介绍:函数原型如下:int SetReg(bool set,//设置(true)或取消(false)本程序的开机自启动TCHAR *Value//写入注册表时的值的名称,如无特殊需要,务必只使用一个名称作为值);返回值:1表示成功操作0表示失败操作-...原创 2020-04-30 19:24:53 · 498 阅读 · 0 评论 -
[Easyx/纯控制台/Windows]三种方法检测鼠标是否离开程序窗口范围(顺带有gotoxy函数实现)
前言:1.首先介绍的是使用easyx库获得窗口大小和窗口句柄,然后介绍控制台检测的方法,最后再来介绍win程序检测的方法。2.函数中的getwidth()和getheight()两个函数是easyx库获得窗口大小的功能,可以被替换掉,后面有相应的修改后函数方法:使用的时候传入要检测的窗口的句柄就能返回是否超出的结果easyx样图(gif):函数如下:bool CT_CheckOutW...原创 2020-04-27 17:01:35 · 1400 阅读 · 0 评论 -
[Easyx]一个以图像模式输出圆角矩形的函数
前言:虽然easyx里面有一个这个功能的函数了,但是我还是自制了一种实现方式来练习下。示例图:函数:void out_long(//制作长方体,圆角长方体 int left, int top, int right, int bottom, //上下左右点的坐标 bool line = false, //是否启用边框,默认不用 COLORREF...原创 2020-04-26 22:37:42 · 3102 阅读 · 0 评论 -
[Easyx]一个以图像模式输出数字的函数
注释版:void PutNumber( long x, //输出位置 long y, long number,//数字 int TextSize=10, //文字的尺寸 int TextProportion=2, //文字的高宽比 int TextInterval=0, //文字之间的间隔 COLORREF tc = 0x00...原创 2020-04-14 20:52:05 · 3348 阅读 · 1 评论