提问分类 [C++]

提问

0

价值

2

回答

939

浏览

EasyX处理鼠标事件(反应迟钝)

环境:VC2022+EasyX

类封装的按钮功能,希望能实现鼠标左键松开执行一次事件,用bool变量isLeftButtonUp判断是否重复执行(不然点一次鼠标会执行好多次,不知道有没有其他能够避免这种情况的写法)。

但在实际运行时,刚运行会迟钝很久(推测是消息缓冲区有大量鼠标移动信息),连续点击正常,但是点一次后移动一会鼠标再点一次也会进入好几秒的延迟。

想请教一下该如何修改:

①有其他能判断左键松开一次执行一次事件的写法吗?

②如何解决这个鼠标处理的延迟,实现响应及时的“鼠标左键松开执行一次事

0

价值

1

回答

801

浏览

通过网络上的方法调用文件资源管理器实现获取文件路径操作后,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(
C++
ava
吾愿

2022-12-25

0

价值

1

回答

1030

浏览

小龙Dev-C++报错

小龙Dev-C++ 自带EasyX 报错 windows系统https://devcpp.gitee.io/manual/support-easyx.html

报错:

在此函数中: 'int main()':

12 2  [错误] 'getch' 未在此范围内声明

12 2  [注解] 建议替换为: 'gety'

#inclu
ava
vcxzgf

2022-11-2

0

价值

2

回答

2290

浏览

键盘按键同时长按两个键时后按的键无效

我现在想做一个双人小游戏,我需要用awsd或者上下左右键控制两个人的行动,这样很大可能就会导致玩家长按上下左右键或者awsd键,然后现在出现了一个问题就是如果我两个人一起按键盘就会导致后按键盘那个动作无效,就是无法两个人同时长按键盘,我如果两边一起长按的话,只有一个会持续移动,但是如果此时我其中没有被移动的那个人重新按一下键盘,那么刚才持续移动那个会停止(实现过程就是下面的代码把printf换成我设计的人物移动代码,在这里只单独长按一个键可以正常移动)

但是我缩减代码的时候又遇到了个问题

下面是我缩减后的代码

我本来是打算弄一个,按W就显示

ava
有毒

2022-9-12

0

价值

1

回答

1058

浏览

请问绘图函数怎么封装进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
ava
System

2022-8-16

0

价值

1

回答

1155

浏览

inputbox问题

编译环境是VScode+MinGW,GBK编码

想试一下inputbox,先直接复制了文档上的代码

#include <graphics.h>
#include <conio.h>

int main()
{
	// 初始化绘图窗口
	initgraph(640, 480);

	// 定义字符串缓冲区,并接收用户输入
	wchar_t s[10];
	InputBox(s, 10, L"请输入半径");

	// 将用户输入转换为
ava
用户7b1f

2022-6-19

2

价值

1

回答

1608

浏览

关于结构体内数组元素过大引起的程序崩溃

大家好。

我的编译环境是VC++6.0

如下代码,如果代码正常运行,程序应该陷入无线循环。但他会崩溃,直接结束进程。如果把129501改成129500就没问题了。我想知道这个值的意义和原因。这样以后设计结构体时,才能更好地控制每个结构体内数组元素大小,不至于不小心超了,还一直找不到程序崩溃的原因。

# include <string>
using namespace std;

// 定义一个结构体
struct Node1
{
	double x[12950
ava
花毛茛

2022-1-12

0

价值

0

回答

1453

浏览

VS 2019 使用 “在静态库中使用MFC” 报错,求解决方案!!!

VS 2019 无法使用“在静态库中使用MFC”,

我要生成 XP 应用,程序目前的设置已经参照这个了:VS 2019 生成 XP 应用

提示错误:

1>Sokoan.obj : error LNK2001: 无法解析的外部符号 __imp__CoInitialize@4
1>EasyXa.lib(EasyX.GdiPlus.o
ava
AlanCRL

2021-12-25

0

价值

1

回答

1791

浏览

peekmessage()无法捕获键盘或者鼠标输入的信息

vs2021 X86和x84都无法读取

先是嵌套在这层函数里。

bool window::ifmessage()
{
	return ::peekmessage(&m_msg,EM_MOUSE|EM_KEY);
}

在主程序中调用

if (ifmessage())
		{
			m_msg = getmessage();
			switch (m_msg.message
C++
ava
阳春白雪糕

2021-12-9

0

价值

1

回答

1613

浏览

loadimage函数无法加载vs2019资源文件夹中的bmp图片

在vs2019中创建了一个资源文件夹之后,导入一张bmp图片,运行后图片没有显示

但是如果使用loadimage函数的路径加载就可以显示

resource中相关的宏也有了,loadimage两种加载资源文件中图片的方式都使用了也不行

ps:png可以正常显示

// resource.h文件内容

//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ 生成的包含文件。
// 供 LearnC++.rc 使用
//
#de

-1

价值

1

回答

1069

浏览

程序中新建工作区显示路径错误

程序中新建工作区显示路径错误

C++
ava
envy

2021-9-14

0

价值

2

回答

2160

浏览

关于loadimage函数的问题 求大佬解答!

用的是EasyX_20200902版本,使用loadimage函数加载图片时,窗口其他地方会变成黑色,代码中把窗口设置为白色,加载了两张图片,运行结果只显示第二张图片,其他地方都是黑色。不知道是哪里的问题。

#include <iostream>
#include <easyx.h>
#include <graphics.h>
#include "mmsystem.h"
#pragma comment(lib,"Winmm.lib"
ava

2021-8-28

0

价值

1

回答

1327

浏览

生成随机字母和数字 (编译通过了,运行没效果是怎么回事)
//编译通过了,运行没效果是怎么回事
#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
C++
ava
◡̈

2021-8-25

0

价值

1

回答

3277

浏览

关于如何在easyx图形界面上输入数字

现在做一个计算器,请问如何设计去实现在图形界面上输入数据来计算呢?

ava
halo

2021-7-26

0

价值

1

回答

1807

浏览

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

回答

1478

浏览

c++双缓冲求解

找到了一个通过ReadConsoleOutputCharacter以及WriteConsoleOutputCharacter实现双缓冲的方式,但无法保存更多的字符信息(如颜色等)。

即使是这样,我依然不能够找到能够正常运作的代码或手动实现这样的功能。

这是我从网上找来的代码,还请村长帮忙纠错。

环境为win10 20h2 19042.928,MSVC以及g++编译出的代码均失效。

#include <stdio.h>
#include <Windo
C++
ava
无名氏

2021-5-2

0

价值

1

回答

1899

浏览

图片在移动的过程中有严重抖动
#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
ava
你好

2021-4-3

0

价值

1

回答

2138

浏览

拼图过程中,移动的图片与鼠标点击的图片不一致,并且有时候会出现多张黑色的图。

拼图过程中,移动的图片与鼠标点击的图片不一致,并且有时候会出现多张黑色的图。

#include<stdio.h>
#include<stdlib.h>
#include<easyx.h>
#include<time.h>
#include<conio.h>
void loadResouce();//加载资源
void UserUI();//渲染
void drawMenu();//菜单
void PlayGame();//游戏过程
voi
ava
Better Me

2021-3-25

技术讨论社区