C语言是否能编出图形化界面?

Reynold 2012-03-14 12:26:03
请教各位大大,用C语言编程序除了经典的窗口程序,是否能编出简单的图形界面?
例如一个图形界面的用户登录界面?
如果有?能否提供一下教程?万分感谢
...全文
13551 55 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
55 条回复
切换为时间正序
请发表友善的回复…
发表回复
chaojizhiduoxing 2012-06-29
  • 打赏
  • 举报
回复
我感觉是个语言都可以做到 就目前的编程语言都一个模子 其根本都是为了让用户实现自己需要的功能。
有些功能某些语言实现不了 这都不是问题 问题只是操作者没有学到那个层次。
李林烜 2012-06-27
  • 打赏
  • 举报
回复
[Quote=引用 38 楼 的回复:]

楼主知道不知道windows系统是啥语言写的?
[/Quote]
像这种大工程 一般都是联合开发 一种语言搞不来 至少3种以上
酱油党 2012-06-26
  • 打赏
  • 举报
回复
直接GDI啊!~
CN_zt 2012-06-26
  • 打赏
  • 举报
回复
利用sdk里带的openGL,网上很多opengl的教程
youkuxiaobin 2012-06-23
  • 打赏
  • 举报
回复
学点api吧
stonehat 2012-06-23
  • 打赏
  • 举报
回复
是可以的,但是比较依赖编译器和系统,基本上讲TC的书上面都讲的比较清楚了,不过貌似dev cpp中,我没有实现出来。现在基本上都是vc在写,mfc框架或者像我现在是在用api在写。如果想学mfc,随便找一本visual c++编程就行。如果是像学api的话,建议《Programming_Windows_程式开发设计指南》,虽然,我只找到win98版的,但是几乎能移植到winxp上面来,而且讲解得很彻底,清楚,只是翻译偏早,不是现在习惯用语,如句柄被翻译成了代号,虽然更形象了,但是与其他书的衔接不是很好。42楼给的例子,就是一个api的例子。
jiandingzhe 2012-06-21
  • 打赏
  • 举报
回复
Gtk,SDL,OpenGL……
wwv386646959 2012-06-19
  • 打赏
  • 举报
回复
很多了,都是编译器自身提供的,GCC的curses这些都有图形界面的制作函数的
cbzjzsb123 2012-05-02
  • 打赏
  • 举报
回复
想学一些的图形界面的东西,用C是可以的。推荐《C语言也能干大事》。自己看看,能学到不少东西。
qewr443710231 2012-04-27
  • 打赏
  • 举报
回复
想学一些的图形界面的东西,用C是可以的。推荐《C语言也能干大事》。自己看看,能学到不少东西。
dspeeding 2012-04-13
  • 打赏
  • 举报
回复
LZ可以看看c语言可以干大事那个系列的视频啊
猪皮冻 2012-04-11
  • 打赏
  • 举报
回复
用MFC吧
libralibra 2012-04-06
  • 打赏
  • 举报
回复
可以,但是不值得
电信用户 2012-04-06
  • 打赏
  • 举报
回复 1

#include <windows.h>

LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR szCmdLine, int iCmdShow)
{
static TCHAR szAppName[] = TEXT ("HelloWin") ;
HWND hwnd ;
MSG msg ;
WNDCLASS wndclass ;

wndclass.style = CS_HREDRAW | CS_VREDRAW ;
wndclass.lpfnWndProc = WndProc ;
wndclass.cbClsExtra = 0 ;
wndclass.cbWndExtra = 0 ;
wndclass.hInstance = hInstance ;
wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION) ;
wndclass.hCursor = LoadCursor (NULL, IDC_ARROW) ;
wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ;
wndclass.lpszMenuName = NULL ;
wndclass.lpszClassName = szAppName ;

if (!RegisterClass (&wndclass))
{
MessageBox (NULL, TEXT ("This program requires Windows NT!"),
szAppName, MB_ICONERROR) ;
return 0 ;
}

hwnd = CreateWindow (szAppName, // window class name
TEXT ("The Hello Program"), // window caption
WS_OVERLAPPEDWINDOW, // window style
CW_USEDEFAULT, // initial x position
CW_USEDEFAULT, // initial y position
CW_USEDEFAULT, // initial x size
CW_USEDEFAULT, // initial y size
NULL, // parent window handle
NULL, // window menu handle
hInstance, // program instance handle
NULL) ; // creation parameters

ShowWindow (hwnd, iCmdShow) ;
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)
{
HDC hdc ;
PAINTSTRUCT ps ;
RECT rect ;

switch (message)
{
case WM_PAINT:
hdc = BeginPaint (hwnd, &ps) ;

GetClientRect (hwnd, &rect) ;

DrawText (hdc, TEXT ("Hello, Windows 98!"), -1, &rect,
DT_SINGLELINE | DT_CENTER | DT_VCENTER) ;

EndPaint (hwnd, &ps) ;
return 0 ;

case WM_DESTROY:
PostQuitMessage (0) ;
return 0 ;
}
return DefWindowProc (hwnd, message, wParam, lParam) ;
}
王龙彪 2012-04-06
  • 打赏
  • 举报
回复
[Quote=引用 43 楼 的回复:]

可以,但是不值得
[/Quote]
这不是值不值得的
想弄明白为什么能写编出来图形界面,就得看看MFC的源代码吧
web_wxw 2012-04-04
  • 打赏
  • 举报
回复
mfc吧
大河向东流阿 2012-04-04
  • 打赏
  • 举报
回复
我也想知道c是怎么实现图形界面的
...
x363635334 2012-04-01
  • 打赏
  • 举报
回复
楼主知道不知道windows系统是啥语言写的?
yousun4688 2012-04-01
  • 打赏
  • 举报
回复
mfc 和windows程式设计吧
YapingXin 2012-03-31
  • 打赏
  • 举报
回复


(1) Windows SDK;
(2) Qt、Gtk;
加载更多回复(35)

33,321

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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