学c语言如何做出有界面的程序

学c语言如何做出有界面的程序,第1张

1、新建一个C项目,点击文件,新建,项目,选择C++Win32控制台应用。

2、在项目向导中设置,会默认生产一个项目框架。

3、可以使用color函数变化字体和窗口的颜色。

4、要在C语言中实现颜色的变化,需要引入windows.h头文件,即#include <windows.h>方可调用color函数,system("color 02")类似的,但不能先写一个循环,循环color 后面的颜色。但可以直接把color 02当作字符串来对待,对后两个字符串进行循环变化。

5、这里的测试代码如下所示:char a[9]="color 02"    int i    for(i=0i<=5i++)    {        a[6]=(char)((int('0'))+i+2)     //颜色交替出现/背景颜色        a[7]=(char)((int('0'))+i)       //字体颜色        system(a)        system("cls")        printf("\n\n\n\n\n\n\n\n\t\t\4 \4 \4Welcome\4 \4 \4")        printf("\n\n\n\n\n")        Sleep(1000)                   //延时1秒        system("cls")    }   system("cls")。

6、而上面使用到的system("cls")是清屏函数,直接可以到cmd中输入cls即可实现清屏的功能。下面就是测试的效果了。

纯c语言库并没有图形界面,必须添加QT或其他图形界面的库才能编写图形界面程序,如果是使用Windows *** 作系统的,可以使用Windows系统自带的图形界面,其实就是由C开始转入C++学习了。QT等其他库我没有用过,给你个WINAPI的最简单的程序:只在窗口标题显示“HELLO!WORLD!”。不过,你想理解这个程序,还是花费很多心机的,去了解,什么是类,什么是窗口,什么是注册函数,什么是消息,什么是消息传递,什么是消息响应。

#include <windows.h>//导入windows.h库

LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM)//窗口过程

//窗口初始化(定义窗口的具体方式)

int WINAPI WinMain

(

HINSTANCE hInstance,

HINSTANCE hPrevInstance,

LPSTR lpCmdLine,

int nCmdShow

)

//int WINAPI WinMain(HINSTANCE hinstance, HINSTANCE hPrevlnst, LPSTR lpsCmdLine, int nCmdShow)

{

HWND hwnd

MSG Msg

WNDCLASS wndclass

char lpszClassName[] = "窗口" //窗口类名

char lpszTitle[] = "HELLO!WORLD!" //My_Windows窗口标题名HELLO!WORLD!

wndclass.style = 0 //窗口风格

wndclass.hInstance = hInstance

wndclass.lpfnWndProc = WndProc //窗口过程函数地址

wndclass.cbClsExtra = 0 //窗口类无扩展

wndclass.cbWndExtra = 0//窗口实例无扩展

wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION)

wndclass.hCursor = LoadCursor(NULL, IDC_ARROW) //用箭头光标

wndclass.hbrBackground = (HBRUSH)(GetStockObject(WHITE_BRUSH)) //窗口背景色为白色

wndclass.lpszMenuName = NULL //窗口无菜单

wndclass.lpszClassName = lpszClassName//窗口类名为"窗口"

if(!RegisterClass(&wndclass)) //如果注册窗口类失败

{ MessageBeep(0)return FALSE}

hwnd = CreateWindow(

lpszClassName, //窗口类名

lpszTitle, //窗口实例的标题名

WS_OVERLAPPEDWINDOW, //窗口的风格

CW_USEDEFAULT,

CW_USEDEFAULT, //以上2行表示窗口左上角坐标为默认值

CW_USEDEFAULT,

CW_USEDEFAULT, //以上2行表示窗口的高度和宽度为默认值

NULL, //此窗口无父窗口

NULL, //此窗口无主菜单

hInstance, //创建此窗口的应用程序的当前句柄(即进程)

NULL //不使用该值

)

ShowWindow(hwnd, nCmdShow)//显示窗口

UpdateWindow(hwnd) //绘制用户区(刷新用户区)

while(GetMessage(&Msg, NULL, 0, 0)) //消息循环

{

TranslateMessage(&Msg) //翻译消息

DispatchMessage(&Msg) //分发消息

}

return Msg.wParam //消息循环结束即程序结束将信息返回给系统

}

LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)

{

switch(message)

{

case WM_DESTROY:

PostQuitMessage(0)

default:

return DefWindowProc(hwnd, message, wParam, lParam)

}

return 0

}

那需要学VC。确切的说是要学MFC。

MFC编图形化程序也是很麻烦的,难学,繁琐。

其实你可以再学Java或者C#。

Java本身也不适合做图形化应用程序,但是比MFC要简单得多。

C#则是当前做图形化程序最简单高效的了,不需要编程单靠鼠标拖拽就能做出图形界面。特别是C#的WPF图形框架更是把图形化编程简化到了极限。

所以强烈建议学C#。

C#语言综合Java和C++的优点。Java和C++都源自C语言。所以学C#之前最好先学一下C++,C、C++、C#可以说是一脉相承,向下兼容的。

总之,学图形化编程比较好的顺序是:

C(结构化语言,入门)->C++(面向对象语言,铺垫) ->C# (享受快速图形化开发吧)

忘解释那几个名词了,补上:

集成开发环境:就是IDE,一类开发工具。

你的代码本来可以直接在记事本里写完,然后命令行下调用编译器编译就能执行了。

集成开发环境将代码编辑、代码编译执行、代码调试功能集成在一起(甚至集成更多功能),使开发人员的开发变得更加高效。比如Visual C++ 6.0就是一个集成开发环境,还有Eclipse、CodeBlocks、Visual Studio等都是。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11068204.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-13
下一篇2023-05-13

发表评论

登录后才能评论

评论列表(0条)

    保存