如何用C语言编写一个窗体应用程序?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用C语言编写一个窗体应用程序?相关的知识,希望对你有一定的参考价值。

如题

参考技术A 要用C语言编写一个窗体应用程序需要调用系统或第三方提供的API函数,一般的步骤是:
定义窗口类
注册窗口类
创建窗口
显示、更新窗口
进行消息循环,不断处理窗口消息
参考技术B 最好不要,稍微麻烦一点的窗体程序你就搞不定,而且资料非常少
比较合算的应该是C#的WPF, VC的MFC,都不是C语言的
参考技术C 目前使用使用QT和C++做应用, 参考技术D win32编程 第5个回答  2021-06-25 可以看看win32编程。

如何用C语言编写一个程序,输出一个汉字,用方向键控制它在屏幕上的显示位置?编译器要用Visual C++6.0

C语言,别用C++。能把源代码发过来不?

参考技术A #include <stdio.h>
#include <conio.h>
#include <windows.h>
#define MAX_X 78 //汉字占两个位置
#define MAX_Y 23 //avoid
typedef _CONSOLE_CURSOR_INFO CurInfo;
COORD curPos = 0 , 0;
HANDLE hCon = GetStdHandle(STD_OUTPUT_HANDLE);
CurInfo*initialInfo = NULL, currentInfo;
int hideCursor(int state) //1 hide

if(state == 1)
if(initialInfo == NULL)

initialInfo = (CurInfo *)malloc(sizeof(CurInfo));
GetConsoleCursorInfo(hCon, initialInfo);

currentInfo.dwSize = initialInfo->dwSize;
currentInfo.bVisible = false;
SetConsoleCursorInfo(hCon, ¤tInfo);
else
if(initialInfo != NULL)
SetConsoleCursorInfo(hCon, initialInfo);
free(initialInfo);
initialInfo = NULL;


return 0;

int setCurrentPos(int press)
switch(press)

case 75: //left
curPos.X = curPos.X == 0 ? 0 : curPos.X - 1;break;
case 72: //up
curPos.Y = curPos.Y == 0 ? 0 : curPos.Y - 1;break;
case 77: //right
curPos.X = curPos.X >= MAX_X ? MAX_X : curPos.X + 1;break;
case 80: //down
curPos.Y = curPos.Y >= MAX_Y ? MAX_Y : curPos.Y + 1;break;
default:
return -1;

return 0;

int main()
char *str = "人";
printf(str);
hideCursor(1);
while(1)
int press = getch();
if(press == 224) //方向键第一个值
SetConsoleCursorPosition(hCon, curPos); //FOR CLEAR UP
if(setCurrentPos(getch()) == 0)

printf(" "); // clear up, or use system("cls");
SetConsoleCursorPosition(hCon, curPos);printf(str);

else if(press == 27) //if press esc, exit
hideCursor(0);
break;



return 0;
追问

.obj - 1 error(s), 0 warning(s)
C:\Users ......obj.cpp(21) : error C2065: 'tInfo' : undeclared identifier
这个源码里许多东西我都看不懂,是纯C不?

追答

line 21, SetConsoleCursorInfo(hCon, ¤tInfo);

改成SetConsoleCursorInfo(hCon, & currentInfo); //把 & 和c 之间的空格去掉
是C 但是用到了 windows一些API

& currentInfo 打不出来 ¤tInfo

以上是关于如何用C语言编写一个窗体应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

如何用C语言编写程序,创建WORD文档。

如何用jetbrains的Clion编写c语言

如何用C语言编写一个简单的聊天室程序

如何用C语言编写一个LED灯渐变的程序

如何用C语言编写PHP扩展的详解

如何用C语言编写PHP扩展的详解