c语言怎么写界面

1. 怎么用c语言做一个界面 呵呵 , 楼主和我当初一样的迷惑 。
我当初啃C语言的时候 , 也是想用C语言做界面出来 , 走了很多冤枉路 , 这里希望能给楼主一些提示 。
如果你想用“纯”C来做界面的话 , 那么我会很肯定的告诉你 , 很难 。你所有的操作都要调用API , 包括每个按钮的位置、大小 , 框的位置、大小等等都是通过计算得出来的 。这样一来开发的效率是可想而知的 。
当然 , 也有专门做界面的 , 程序用C语言来写 。比如:QT 。具体的楼主可以去了解了解 。
如果你想感受一下C语言的“乐趣”的话 , 在Win32中写一下程序:
#include <windows.h>
void main()
{
MessageBox(NULL," Hello World!" , "我的第一个窗口程序" , MB_OK);
//这里的MessageBox函数 , 就是API函数 , 函数的意思是调用一个信息框
}
界面只是一个和用户交互的窗口 , 比如说在MFC中 , 界面和程序之间数据传递的方式就是通过UpDate()这个函数 , UpDate(FALSE);是把变量数据传给界面 , UpDate(TRUE)是把界面数据传给变量 。当然 , 前提是需要它们之间关联一下 。这么一说楼主估计就明白界面的用处了吧 。
MFC是用C++开发的 , C++和C上还是有很大的差异的 。直接入门会有很大的难度 。建议楼主可以先看看C++的书 。了解下 , 什么是类 , 什么是容器 , 什么是重载 , 什么是构造 , 什么是析构 , 什么是面向对象 。这也不是一句话两句话能讲完的 。
我给楼主些意见:
一:想玩界面的话 , 就用QT写 , 或者先用其它简单语言(VB、或国产易语言 。PS:易语言实质上就是C++的封装 , 不过很多功能都打包了 , 用起来比MFC简单的多 。) 。
二:如果你想更深一步做软件 , 可以选择学习C++ , 然后学MFC
三:C语言很强大 , 是其它编程易语言无法超越的(个人观点) 。你前面的说C语言学的很好 , 我觉得你话撩的有点早 。(这个观点当你水平从菜鸟上升一两个等级时候你就会明白)
【c语言怎么写界面】四:多做项目 。(PS:自己想做什么软件 , 就着手做 , 不要把要求定的太高 , 比你水平高一点的软件 , 做项目是上升最快的方法之一)
2. C语言如何做图形界面 /* 以下代码不含丝毫MFC , 在Visual C++ 6.0测试通过 , 能够出现一个正规的Windows窗口 */#pragma comment(linker,"/SUBSYSTEM:Windows /ENTRY:mainCRTStartup")#include /* 使类名成为全局变量 */ 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; /* 注册窗口类 。