如何用c语言作出有图形界面的小程序?

如何用c语言作出有图形界面的小程序?,第1张

那需要学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等都是。

纯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

}

兄弟,那些书教的都是c语言的基本语法,编写的是控制台应用程序。而如果你学C/SDk的话就可以有界面了,实际上任何一种现存的语言编写的都是有界面的(DOS程序等除外),如果你还有疑问,去网上下载电子书《windows

程序设计》就是讲如何编写‘界面’程序的

下面是下载地址,打开迅雷,复制一下下面地址就可以下载了

http://www.longtengwang.com/Soft/UploadSoft/ebook2008/

程序段绝开发/windows/Windows程序设计第五版(PDF).rar

下面是保险一点,上面不行余燃并就用竖迹这里的

http://download.csdn.net/source/518600


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

原文地址: http://outofmemory.cn/yw/12557063.html

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

发表评论

登录后才能评论

评论列表(0条)

保存