C语言如何做图形界面?

C语言能不能做出漂亮的图形界面(编辑器+编译器),需要额外的库,还是直接调用已有的库?小弟对这个不太懂。如果能做,相比MFC,是不是更麻烦一些?最好能够附上一个简单的例子... C语言能不能做出漂亮的图形界面(编辑器+编译器),需要额外的库,还是直接调用已有的库?小弟对这个不太懂。
如果能做,相比MFC,是不是更麻烦一些?
最好能够附上一个简单的例子(可以运行的),谢谢!
我的意思是不想用mfc,能不能用C写出图形界面来?
难度大不大?
展开
 我来答
修者世界
推荐于2017-09-08 · TA获得超过5850个赞
知道大有可为答主
回答量:5984
采纳率:61%
帮助的人:802万
展开全部
C语言中要做图形见面,首先需要设置为图形模式,确定显卡类型,对屏幕进行初始化等等,相关的函数如下:
1. detectgraph() 显示卡检测函数
2. initgraph() 图形初始化函数
3. getdrivername() 获取图形驱动程序名的指针
4. getgraphmode() 获取图形模式函数
5. getmoderange()获取模式值范围函数
6. getmaxmode()获取最大显示模式函数
7. getmodename()获取显示模式名函数
8. graphdefaults()图形设置复位缺省值函数
9. setgraphmode() 设置图形模式函数
10. restorecrtmode() 恢复文本显示模式函数
11. graphresult() 图形操作结果函数
12. grpaherrormsg() 图形错误信息函数
13. setgraphbufsize()设置图形缓冲区大小函数
14. setactivepage() 设置可输出显示页函数
15. setvisualpage() 设置可见显示页数
16. closegraph()关闭图形模式函数
yjf_victor
2013-05-06 · TA获得超过3526个赞
知道小有建树答主
回答量:1164
采纳率:100%
帮助的人:421万
展开全部
/* 以下代码不含丝毫MFC,在Visual C++ 6.0测试通过,能够出现一个正规的Windows窗口 */
#pragma comment(linker,"/SUBSYSTEM:Windows  /ENTRY:mainCRTStartup")
#include <windows.h>
/* 使类名成为全局变量 */
TCHAR szClassName[ ] = TEXT("WindowsApp");
/* 这个函数由Windows内部函数DispatchMessage()调用 */
LRESULT CALLBACK WindowProcedure (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    HDC hdc ;
    PAINTSTRUCT ps ;
    RECT rect ;
    switch (message)  /* 处理信息 */
    {
        case WM_DESTROY:
            PostQuitMessage (0);  /* 发送WM_QUIT到消息队列 */
            break;
        case WM_PAINT:
            hdc = BeginPaint (hWnd, &ps) ;
            GetClientRect (hWnd, &rect) ;
            DrawText (hdc, TEXT("Hello, Windows NT!"), -1, &rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER) ;
            EndPaint (hWnd, &ps) ;
            break ;
        default:  /* 不处理的消息 */
            return DefWindowProc (hWnd, message, wParam, lParam);
    }
    return 0;
}
/* 下面是主函数 */
int main ( void )   
{
    HINSTANCE hThisInstance = GetModuleHandle(NULL) ;
    int nFunsterStil = SW_SHOW ;
    HWND hWnd; /* 这是窗口的句柄 */
    MSG messages;/* 应用程序的消息保存在这里 */
    WNDCLASSEX wincl;/* 窗口类的数据结构 */
    /* 窗口结构 */
    wincl.hInstance = hThisInstance;
    wincl.lpszClassName = szClassName;
    wincl.lpfnWndProc = WindowProcedure;/* 这个函数由Windows操作系统调用 */
    wincl.style = CS_DBLCLKS; /* 获取双击指令 */
    wincl.cbSize = sizeof (WNDCLASSEX);
    /* 使用默认图标和鼠标指针 */
    wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);
    wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
    wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
    wincl.lpszMenuName = NULL; /* 没有菜单 */
    wincl.cbClsExtra = 0;/* 窗口类后面没有多余的字节 */
    wincl.cbWndExtra = 0;/* 结构或者窗口实例 */
    /* 使用窗口的默认颜色作为窗口的背景色 */
    wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND;
    /* 注册窗口类。如果注册失败,那么就退出程序 */
    if (!RegisterClassEx (&wincl))
        return 0;
    /* 窗口类已被注册。创建它的程序 */
    hWnd = CreateWindowEx (
            0,
            szClassName,    /* 类名 */
            TEXT("Windows App"),    /* 窗口标题栏的文字 */
            WS_OVERLAPPEDWINDOW, /* 默认窗口 */
            CW_USEDEFAULT, /* 窗口左上角的位置 */
            CW_USEDEFAULT, /* 窗口右下角的位置 */
            544, /* 窗口宽度(以“像素”位单位) */
            375, /* 窗口高度(以“像素”位单位) */
            HWND_DESKTOP,/* 窗口是桌面的子窗口 */
            NULL,/* 该窗口无菜单 */
            hThisInstance, /* 程序实例的句柄 */
            NULL /* 没有窗口创建的数据 */
            );
    /* 显示窗口 */
    ShowWindow (hWnd, nFunsterStil);
    /* 重绘窗口 */
    UpdateWindow(hWnd);
    /* 运行消息循环。循环到GetMessage()函数返回0 */
    while (GetMessage (&messages, NULL, 0, 0))
    {
        /* 把虚拟信息翻译成字符信息 */
        TranslateMessage(&messages);
        /* 发送信息到窗口过程 */
        DispatchMessage(&messages);
    }
    /* 返回PostQuitMessage()函数的返回值 */
    return messages.wParam;
}



已赞过 已踩过<
你对这个回答的评价是?
评论 收起
兜里有两块糖
2008-11-24 · TA获得超过522个赞
知道小有建树答主
回答量:585
采纳率:100%
帮助的人:503万
展开全部
如果你用的是tc那么就可以做一些图形的编辑,用到的库文件为<graphics.h>

要是mfc是在vc中,也就是说可以更方便一点哦,直接拖各种控件就可以实现,代码建议参见msdn。很全很典型

用tc一样可以进行可视化编程,并不是很困难,都是库函数,也就是说你只要算好坐标,调用库函数就可以
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
风韵之冬
2008-11-24 · TA获得超过1104个赞
知道小有建树答主
回答量:1164
采纳率:0%
帮助的人:632万
展开全部
用c做界面你不嫌费劲啊,这本来就不是c的用处。界面用MFC就很简单了,c的长处在于他的硬件相关性,你可以用mfc写界面,用c来处理比较底层的操作。
其实界面跟mfc的关系也就是那几个函数,做的漂亮不漂亮最主要的还是看你photoshop水平。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ryw12403
2008-11-24 · TA获得超过1899个赞
知道大有可为答主
回答量:2501
采纳率:0%
帮助的人:2094万
展开全部
可以做出来,只是调用己有的库,颜色单调。
比MFC 简单。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式