深蓝NU 2022-06-07 14:51 采纳率: 0%
浏览 25
已结题

图形登陆,最难的问题

使用Exsyx图形库制作登录界面可却输入与别的不能一起运行

#include <stdio.h>
#include <graphics.h>
#include <mmsystem.h>
#include <conio.h>
#include <windows.h>
#include "zym.h"
#include <easyx.h>
#pragma warning(disable : 4996)
ExMessage chh;
//TCHAR ch;
int hg = 164;
int gg = 100;
int ggk = 378;
char nmd;
char* zi = (char*)malloc(sizeof(char) * 100);

char zh[] = { 2,0,5,2,1,2,6,6,7,9 };
char mm[] = { 1,2,3,4,5,6,7,8,9 };
zb gbb(IMAGE a, zb* k);
MOUSEMSG sb;
ExMessage kkp;
IMAGE yi;
IMAGE xx1;
IMAGE xx2;
IMAGE nn;
IMAGE gb;
zb en;
zb r;

int nb = 0;
zb ma;
zb mk;
void pu(void) {
PeekMouseMsg(&sb, true);
if ((sb.x >= 374 && sb.x <= 657) && (sb.y >= 158 && sb.y <= 186) && sb.mkLButton) {
nb = 1;
}
else if ((sb.x >= 374 && sb.x <= 657) && (sb.y >= 205 && sb.y <= 233) && sb.mkLButton) {
nb = 2;
}
}
zb* mam(void) {
ma.x = 378;
ma.y = 164;
return &ma;
}
zb* mkk(void) {
mk.x = 378;
mk.y = 210;
return &mk;
}
void pd() {
if(nb==1){
gbb(gb, (mam()));
pu();
}
else if (nb == 2) {
gbb(gb, (mkk()));
pu();}
}
void zf() {
pd();
pu();
}
void ks(void) {
loadimage(&yi, L"D:/Users/86131/source/repos/QQ/素材一/ka.jpeg");
loadimage(&xx1, L"D:/Users/86131/source/repos/QQ/素材一/aaa.png");
loadimage(&xx2, L"D:/Users/86131/source/repos/QQ/素材一/aaaa.png");
loadimage(&nn, L"D:/Users/86131/source/repos/QQ/素材一/kkkk.png");
loadimage(&gb, L"D:/Users/86131/source/repos/QQ/素材一/gb.png");
en.x = 450;
en.y = 0;
r.x = 0;
r.y = 0;
putimage(0, 0, &yi);
putimage(en.x, en.y, &xx2, SRCAND);
putimage(en.x, en.y, &xx1, SRCPAINT);
putimage(300,130 , &nn);
PeekMouseMsg(&sb, true);
pu();
}
zb gbb(IMAGE a,zb*k) {
Sleep(100);
putimage(k->x, k->y, &a);
PeekMouseMsg(&sb, true);
pu();
return k;
}
//void shuru1(int x6, int xfw, int yfw, char
q)
//{
// int j, m;
// m = j = 0;
// if (nb == 1) {
// while ((*q = getch()) != 13)
// {
// /pu();
// ks();
// pu();
// pd();
// zf();
/
//
// if (*q == VK_BACK && x6 != xfw)
// {
// *q = ' ';
//
//
// outtextxy(x6, yfw, *q);
// x6 -= 9;
// --q;
//
//
// }
// else if (q == VK_BACK)
// continue;
// else
// {
// //outtextxy(x6+=9,yfw,"
");
// outtextxy(x6 += 9, yfw, *q);
// ++q;
// ++j;
// }
// }
// *q = '\0';
// nb=0;
// }
// if (nb == 2) {
// while ((*q = getch()) != 13)
// {
// /pu();
// ks();
// pu();
// pd();
// zf();
/
//
// if (*q == VK_BACK && x6 != xfw)
// {
// *q = ' ';
//
//
// outtextxy(x6, yfw, *q);
// x6 -= 9;
// --q;
//
//
// }
// else if (q == VK_BACK)
// continue;
// else
// {
// //outtextxy(x6+=9,yfw,"
");
// outtextxy(x6 += 9, yfw, *q);
// ++q;
// ++j;
// }
// }
// *q = '\0';
// }
//
// nb = 0;
//}
char jjl;
int main(void)
{
initgraph(1024, 460, EW_SHOWCONSOLE);
while (1) {
//peekmessage(&chh, EM_CHAR, true);
//printf("%c", chh.ch);
//chh.ch = 0;

    pu();
    ks();
    pu();
    pd();
    zf();
    //shuru1(ggk, gg, hg, &nmd);

    int jk = 0;
    if(nb == 2) {

        while (nb==2/*!(peekmessage(&kkp, EM_MOUSE, true))*/) {

//Sleep(1);
//Sleep(1);
pu();
if (peekmessage(&kkp, EM_CHAR,true))
{

                //getmessage(&chh, EM_CHAR);
                jjl = chh.ch;


                printf("%c", kkp.ch);
                /*    if ((peekmessage(&kkp, EM_MOUSE, NULL))) {
                        break;
                        !(peekmessage(&kkp, EM_MOUSE, true))
                    }*/
                /*if (peekmessage(&kkp, EM_MOUSE, true)) {
                    break;
                }*/
                    pu();
                    //pd();
                    if (nb != 2) {
                        break;
                    }
            pu();
                if (nb != 2) {
                    break;
                } 
            }
        //    pu();

        //if (nb != 2) {
        //            break;
        //        }    /*if (peekmessage(&kkp, EM_MOUSE, true)) {
                /*break;
            //}*/
        }
            //nb = 0;
            /*    *(zi + jk) = chh.ch;
                jk++;*/
        

    }

//else pu();
//pd();
//if (nb == 2) {
// *(zi + jk) = 0;
// printf("%s", *zi);
// getmessage(&chh, EM_CHAR);
// pu();
// /printf("%c", chh.ch);/
// //chh.ch = 0;
//}

}

return 0;

}

并没有报错,可输入数字退出输入不能一起
而且不知道输出

我的解答思路和尝试过的方法
改循环,设置时间函数,快自闭了

我想要达到的结果
可以实现在输入中,程序还可以运行刷新界面,而且鼠标移动到别的按钮并点击可以瞬间停止输入

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 6月15日
    • 创建了问题 6月7日

    悬赏问题

    • ¥15 如何构建全国统一的物流管理平台?
    • ¥100 ijkplayer使用AndroidStudio/CMake编译,如何支持 rtsp 直播流?
    • ¥20 和学习数据的传参方式,选择正确的传参方式有关
    • ¥15 这是网络安全里面的poem code
    • ¥15 用js遍历数据并对非空元素添加css样式
    • ¥15 使用autodl云训练,希望有直接运行的代码(关键词-数据集)
    • ¥50 python写segy数据出错
    • ¥20 关于线性结构的问题:希望能从头到尾完整地帮我改一下,困扰我很久了
    • ¥30 3D多模态医疗数据集-视觉问答
    • ¥20 设计一个二极管稳压值检测电路