关于用C语言做图形界面??!!!

想学好C语言的蛋蛋 2013-07-01 09:55:32
用C语言做那些图形之类的东西,网上基本都是用TC里面的那些库函数,然后vc++要下载图形库,TC那些不是过时吗???还要学吗??还是学C++然后MFC????求指导~~~
...全文
1801 35 打赏 收藏 转发到动态 举报
写回复
用AI写文章
35 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 34 楼 u011289913 的回复:
[quote=引用 33 楼 u010815014 的回复:] [quote=引用 31 楼 u011289913 的回复:] 我个人不喜欢Windows的图形程序,当然,可以用来打游戏。还是做Unix吧,cc和gcc+Vim,保证你会满意,我保证。Unix不适合做图形开发,尽管Unix家族大部分提供X接口,我觉得是浪费人力财力,开发图形接口的人,为何不把这些资源用来开发一套网络库?
你说的cc和gcc+vim也是用来开发图形程序的??我比较喜欢做出来的东西有好看的界面把,即使简单的小程序。。虽然老实说,我都还没去学API/mfc这些,自己艺术细胞也不是很好,图形这方面有压力。。[/quote]是的,不过是TTY图形,还有就是ncurses是一个光标库,可以让终端丰富多彩,比如安装操作系统时的那些界面,统统是这个光标库完成的,例如XP和BSD还有Linux以及红帽的Setup,这些都是。[/quote] 听起来好高级啊。。离我好遥远~~~~~
唯C_Holyzer 2013-07-05
  • 打赏
  • 举报
回复
引用 33 楼 u010815014 的回复:
[quote=引用 31 楼 u011289913 的回复:] 我个人不喜欢Windows的图形程序,当然,可以用来打游戏。还是做Unix吧,cc和gcc+Vim,保证你会满意,我保证。Unix不适合做图形开发,尽管Unix家族大部分提供X接口,我觉得是浪费人力财力,开发图形接口的人,为何不把这些资源用来开发一套网络库?
你说的cc和gcc+vim也是用来开发图形程序的??我比较喜欢做出来的东西有好看的界面把,即使简单的小程序。。虽然老实说,我都还没去学API/mfc这些,自己艺术细胞也不是很好,图形这方面有压力。。[/quote]是的,不过是TTY图形,还有就是ncurses是一个光标库,可以让终端丰富多彩,比如安装操作系统时的那些界面,统统是这个光标库完成的,例如XP和BSD还有Linux以及红帽的Setup,这些都是。
C_linux记事 2013-07-04
  • 打赏
  • 举报
回复
引用 楼主 u010815014 的回复:
用C语言做那些图形之类的东西,网上基本都是用TC里面的那些库函数,然后vc++要下载图形库,TC那些不是过时吗???还要学吗??还是学C++然后MFC????求指导~~~
学GTK+吧, 我也在学, linux下的图形开发, 也就是说, 用来包装你写的程序。
  • 打赏
  • 举报
回复
引用 31 楼 u011289913 的回复:
我个人不喜欢Windows的图形程序,当然,可以用来打游戏。还是做Unix吧,cc和gcc+Vim,保证你会满意,我保证。Unix不适合做图形开发,尽管Unix家族大部分提供X接口,我觉得是浪费人力财力,开发图形接口的人,为何不把这些资源用来开发一套网络库?
你说的cc和gcc+vim也是用来开发图形程序的??我比较喜欢做出来的东西有好看的界面把,即使简单的小程序。。虽然老实说,我都还没去学API/mfc这些,自己艺术细胞也不是很好,图形这方面有压力。。
唯C_Holyzer 2013-07-04
  • 打赏
  • 举报
回复
引用 30 楼 u010815014 的回复:
[quote=引用 29 楼 u011289913 的回复:] 还是来Unix下做开发吧,我是看到WinAPI和听到WinAPI我就想撞墙。
API貌似很难。。。很复杂,感觉。。[/quote]你如果仔细的留意过WinAPI,你就能理解我的感受了,比较C和Unix是离不开的,唇亡齿寒,win上的C俗称win C,WinMain是什么?为什么要这样?我不明白,这不在是纯C高贵的血统了,我感到万般无奈。大写,大写,参数参数,天啊,当时我只是看了一天我就崩溃了,我放弃了,我爱的是小写。
唯C_Holyzer 2013-07-04
  • 打赏
  • 举报
回复
我个人不喜欢Windows的图形程序,当然,可以用来打游戏。还是做Unix吧,cc和gcc+Vim,保证你会满意,我保证。Unix不适合做图形开发,尽管Unix家族大部分提供X接口,我觉得是浪费人力财力,开发图形接口的人,为何不把这些资源用来开发一套网络库?
  • 打赏
  • 举报
回复
引用 29 楼 u011289913 的回复:
还是来Unix下做开发吧,我是看到WinAPI和听到WinAPI我就想撞墙。
API貌似很难。。。很复杂,感觉。。
唯C_Holyzer 2013-07-04
  • 打赏
  • 举报
回复
还是来Unix下做开发吧,我是看到WinAPI和听到WinAPI我就想撞墙。
唯C_Holyzer 2013-07-04
  • 打赏
  • 举报
回复
SDL吧,跨平台,不过我个人觉得它好像用在在Windows和Mac这类图形操作系统中还适合,Unix用不上,curses很完美。
一根烂笔头 2013-07-04
  • 打赏
  • 举报
回复
引用 6 楼 ak47_wz 的回复:
不要认为有界面的东西就是牛逼.也不要认为有界面的东西就是高级. 黑框框也有大文化. 你才大一.好好的把你的基础打好.用C语言去做图形界面?没有什么太大的必要吧.大二,你们应该会接触,JAVA,C#这些高级语言,到时候你会发现,GUI编程完全就是很随意的事情. 现在先不要 去考虑这些事情,好好的把你的基础打好,代码写好,编码风格培养好,重视算法.祝你成功.
此楼观点可参考 打好基础才能进阶,就在字符界面里写程序就行了!在linux下,终端一打开,有gcc g++就可以是程序员的全部工作平台,IDE都不要! 不开发产品,要界面干毛?
xxhhwt 2013-07-04
  • 打赏
  • 举报
回复
貌似一般不用纯c来做界面的吧
brentzj 2013-07-04
  • 打赏
  • 举报
回复
计算机基础课程才是王道 数据结构,编译原理 操作系统 计算机网络 计算机组成原理,算法设计 选一门喜欢的语言,深入进去。 如果有精力的话,搞搞ACM TOPCODE吧, 随便拿个奖,找工作那是可以加很多分的 在学校就要打好基础,什么流行的技术,基础好了 等到大四了解了解,面试不成问题。 好公司校招基础是重点。
  • 打赏
  • 举报
回复
引用 23 楼 zhao4zhong1 的回复:
不是MFC是Win32 Native API
这些是不是可以看那本《windows编程》学到??他跟MFC有什么区别跟联系吗 新手,所以很多问题可能很白痴,望大侠给点耐心解答。。~~~
赵4老师 2013-07-04
  • 打赏
  • 举报
回复
不是MFC是Win32 Native API
  • 打赏
  • 举报
回复
引用 20 楼 zhao4zhong1 的回复:
18楼改两个字:加以→建议
这是??MFC??还是?表示不知道什么来的
nonplus 2013-07-04
  • 打赏
  • 举报
回复
大一 像6楼说的 打好基础,编码风格掌握好。
赵4老师 2013-07-04
  • 打赏
  • 举报
回复
18楼改两个字:加以→建议
boyzxscn 2013-07-04
  • 打赏
  • 举报
回复
顶 OpenGL 性能好,方便跨平台。
赵4老师 2013-07-04
  • 打赏
  • 举报
回复
加以帖主先学会我这个:
#pragma comment(lib,"user32")
#pragma comment(lib,"gdi32")
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <windows.h>
HWND WINAPI GetConsoleWindow();
void HideTheCursor() {
    CONSOLE_CURSOR_INFO cciCursor;
    HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
    if (GetConsoleCursorInfo(hStdOut, &cciCursor)) {
        cciCursor.bVisible = FALSE;
        SetConsoleCursorInfo(hStdOut, &cciCursor);
    }
}
void ShowTheCursor() {
    CONSOLE_CURSOR_INFO cciCursor;
    HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
    if (GetConsoleCursorInfo(hStdOut, &cciCursor)) {
        cciCursor.bVisible = TRUE;
        SetConsoleCursorInfo(hStdOut, &cciCursor);
    }
}
int main() {
    HWND   hwnd;
    HDC    hdc;
    HFONT  hfont;
    RECT   rect,wsize;
    HBRUSH hbrush;
    int    y,x,d,g;

    system("color F0");
    system("cls");
    HideTheCursor();
    hwnd  =GetConsoleWindow();
    GetClientRect(hwnd,&wsize);
    hdc   =GetDC(hwnd);
    hfont =CreateFont(48,0,0,0,0,0,0,0,0,0,0,0,0,"华文楷体");
    hbrush=CreateSolidBrush((COLORREF)0x00FFFFFF);
    SelectObject(hdc,hfont);
    y=10;x=30;d=4;g=3;
    while (1) {
        rect.left=x;
        rect.top=y;
        rect.right=x+300+d+1;
        rect.bottom=y+60+d+1;
        FillRect(hdc, &rect, hbrush);
        TextOut(hdc,x+10,y+10,"地球人都知道!",14);
        MoveToEx(hdc,x+5,y+5,NULL);
        LineTo(hdc,x+300,y+  5);
        LineTo(hdc,x+300,y+ 60);
        LineTo(hdc,x+  5,y+ 60);
        LineTo(hdc,x+  5,y+  5);
        Sleep(15);
        if (_kbhit()) {getch();break;}
        switch (g) {
        case 0:if (y>                d) y-=d; else g=2;if (x>                d) x-=d; else g=1;break;// ↖
        case 1:if (y>                d) y-=d; else g=3;if (x<wsize.right-300-d) x+=d; else g=0;break;// ↗
        case 2:if (y<wsize.bottom-60-d) y+=d; else g=0;if (x>                d) x-=d; else g=3;break;// ↙
        case 3:if (y<wsize.bottom-60-d) y+=d; else g=1;if (x<wsize.right-300-d) x+=d; else g=2;break;// ↘
        }
    }
    DeleteObject(hbrush);
    DeleteObject(hfont);
    ReleaseDC(hwnd,hdc);
    system("color 07");
    system("cls");
    ShowTheCursor();
    return 0;
}
ForestDB 2013-07-04
  • 打赏
  • 举报
回复
GUI编程只是一个方向,如果想走的更远,可以考虑下OS,数据结构与算法等等更基本的东西。
加载更多回复(15)

69,364

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧