0
价值
2
回答
浏览
EasyX处理鼠标事件(反应迟钝)
环境:VC2022+EasyX
类封装的按钮功能,希望能实现鼠标左键松开执行一次事件,用bool变量isLeftButtonUp判断是否重复执行(不然点一次鼠标会执行好多次,不知道有没有其他能够避免这种情况的写法)。
但在实际运行时,刚运行会迟钝很久(推测是消息缓冲区有大量鼠标移动信息),连续点击正常,但是点一次后移动一会鼠标再点一次也会进入好几秒的延迟。
想请教一下该如何修改:
①有其他能判断左键松开一次执行一次事件的写法吗?
②如何解决这个鼠标处理的延迟,实现响应及时的“鼠标左键松开执行一次事
0
价值
1
回答
浏览
通过网络上的方法调用文件资源管理器实现获取文件路径操作后,loadimage函数无法正常运行
操作系统win11,vs2012
#include <windows.h>
#include <Commdlg.h>
#include <stdio.h>
#include<graphics.h>
int FileDialog(char *path);
int main(char argc, char *argv[])
{
int i=0,num=0;
char szFile[MAX_PATH] = {0};
FileDialog(
0
价值
1
回答
浏览
小龙Dev-C++报错
小龙Dev-C++ 自带EasyX 报错 windows系统https://devcpp.gitee.io/manual/support-easyx.html
报错:
在此函数中: 'int main()':
12 2 [错误] 'getch' 未在此范围内声明
12 2 [注解] 建议替换为: 'gety'
#inclu
0
价值
2
回答
浏览
键盘按键同时长按两个键时后按的键无效
我现在想做一个双人小游戏,我需要用awsd或者上下左右键控制两个人的行动,这样很大可能就会导致玩家长按上下左右键或者awsd键,然后现在出现了一个问题就是如果我两个人一起按键盘就会导致后按键盘那个动作无效,就是无法两个人同时长按键盘,我如果两边一起长按的话,只有一个会持续移动,但是如果此时我其中没有被移动的那个人重新按一下键盘,那么刚才持续移动那个会停止(实现过程就是下面的代码把printf换成我设计的人物移动代码,在这里只单独长按一个键可以正常移动)
但是我缩减代码的时候又遇到了个问题
下面是我缩减后的代码
我本来是打算弄一个,按W就显示
0
价值
1
回答
浏览
请问绘图函数怎么封装进DLL
如果要将EasyX绘图函数封装进DLL,就必须要指定这些函数作用的父窗口
但是EasyX没有像Windows API那样通过传入窗口句柄实现绘图的函数
所以想问下有没有解决办法
#include <Windows.h>
#include <graphics.h>
#define DLL_API __declspec(dllexport)
DLL_API void FaceDraw1(bool f)
{
setlinecolor(RGB
0
价值
1
回答
浏览
inputbox问题
编译环境是VScode+MinGW,GBK编码
想试一下inputbox,先直接复制了文档上的代码
#include <graphics.h>
#include <conio.h>
int main()
{
// 初始化绘图窗口
initgraph(640, 480);
// 定义字符串缓冲区,并接收用户输入
wchar_t s[10];
InputBox(s, 10, L"请输入半径");
// 将用户输入转换为
2
价值
1
回答
浏览
关于结构体内数组元素过大引起的程序崩溃
大家好。
我的编译环境是VC++6.0
如下代码,如果代码正常运行,程序应该陷入无线循环。但他会崩溃,直接结束进程。如果把129501改成129500就没问题了。我想知道这个值的意义和原因。这样以后设计结构体时,才能更好地控制每个结构体内数组元素大小,不至于不小心超了,还一直找不到程序崩溃的原因。
# include <string>
using namespace std;
// 定义一个结构体
struct Node1
{
double x[12950
0
价值
0
回答
浏览
VS 2019 使用 “在静态库中使用MFC” 报错,求解决方案!!!
VS 2019 无法使用“在静态库中使用MFC”,
我要生成 XP 应用,程序目前的设置已经参照这个了:VS 2019 生成 XP 应用
提示错误:
1>Sokoan.obj : error LNK2001: 无法解析的外部符号 __imp__CoInitialize@4
1>EasyXa.lib(EasyX.GdiPlus.o
0
价值
1
回答
浏览
peekmessage()无法捕获键盘或者鼠标输入的信息
vs2021 X86和x84都无法读取
先是嵌套在这层函数里。
bool window::ifmessage()
{
return ::peekmessage(&m_msg,EM_MOUSE|EM_KEY);
}
在主程序中调用
if (ifmessage())
{
m_msg = getmessage();
switch (m_msg.message
0
价值
1
回答
浏览
loadimage函数无法加载vs2019资源文件夹中的bmp图片
在vs2019中创建了一个资源文件夹之后,导入一张bmp图片,运行后图片没有显示
但是如果使用loadimage函数的路径加载就可以显示
resource中相关的宏也有了,loadimage两种加载资源文件中图片的方式都使用了也不行
ps:png可以正常显示
// resource.h文件内容
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ 生成的包含文件。
// 供 LearnC++.rc 使用
//
#de
0
价值
2
回答
浏览
关于loadimage函数的问题 求大佬解答!
用的是EasyX_20200902版本,使用loadimage函数加载图片时,窗口其他地方会变成黑色,代码中把窗口设置为白色,加载了两张图片,运行结果只显示第二张图片,其他地方都是黑色。不知道是哪里的问题。
#include <iostream>
#include <easyx.h>
#include <graphics.h>
#include "mmsystem.h"
#pragma comment(lib,"Winmm.lib"
0
价值
1
回答
浏览
生成随机字母和数字 (编译通过了,运行没效果是怎么回事)
//编译通过了,运行没效果是怎么回事
#include <stdio.h>
#include <string.h>
#include <time.h>
#include <stdlib.h>
int main()
{
char a[100], b[50];
srand(time(0));
a[100] = rand() % 26;//生成0-25的随机数
b[100] = rand() % 26;
b[100] += 'A';//字符转换成大写
s
0
价值
1
回答
浏览
VS2019编译错误,无法解析的外部符号
系统:windows10 专业工作站版
IDE:VS2019
Easyx版本:20210224
尝试过修改字符集,重新安装easyx
#include <graphics.h> // 引用图形库头文件
#include <conio.h>
#include<map>
#include <string>
using namespace std;
class Graphicstool {
public:
0
价值
1
回答
浏览
c++双缓冲求解
找到了一个通过ReadConsoleOutputCharacter以及WriteConsoleOutputCharacter实现双缓冲的方式,但无法保存更多的字符信息(如颜色等)。
即使是这样,我依然不能够找到能够正常运作的代码或手动实现这样的功能。
这是我从网上找来的代码,还请村长帮忙纠错。
环境为win10 20h2 19042.928,MSVC以及g++编译出的代码均失效。
#include <stdio.h>
#include <Windo
0
价值
1
回答
浏览
图片在移动的过程中有严重抖动
#include <easyx.h>
int main()
{
initgraph(1600, 900);
IMAGE* image = new IMAGE();
loadimage(image, _T(R"*(.\Resources\Textures\test.jpg)*"));
float x = 0;
BeginBatchDraw();
while (true)
{
cleardevice();
putimage(x, 0, imag
0
价值
1
回答
浏览
拼图过程中,移动的图片与鼠标点击的图片不一致,并且有时候会出现多张黑色的图。
拼图过程中,移动的图片与鼠标点击的图片不一致,并且有时候会出现多张黑色的图。
#include<stdio.h>
#include<stdlib.h>
#include<easyx.h>
#include<time.h>
#include<conio.h>
void loadResouce();//加载资源
void UserUI();//渲染
void drawMenu();//菜单
void PlayGame();//游戏过程
voi