用c语言编写gui界面程序用什么软件?
用c语言去编写个gui界面的程序
用什么软件?
[解决办法]
在Windows平台的话,可以用SDK的方式,即直接调用Windows API的方式,使用支持win32的编译软件都可以,例如VC、lcc-win32等。
[解决办法]
用c语言去编写个gui界面的程序
用什么软件?
===================================
肯定是用c编译器了。
[解决办法]
vs2005吧, 除非你的机器非常非常旧, 否则不要考虑vc6。
lcc不支持c++, 用起来也怪怪的, 可能是我不习惯。 除了比较小之外, 乏善可陈。
[解决办法]
lcc-win32是可以编译windows gui界面程序的,当然,具体的代码与控制台程序是不同的。楼主可以看一下3楼贴的代码,这就是一个很典型的windows gui界面窗口程序,确实比控制台程序复杂了许多。
因此建议楼主找一些win32sdk方面的资料来看一看,有一份不错的资料叫做"sdk路报",搜索一下很容易找到的。
经典的书籍就是《windows程序设计》,是公认的windows sdk名作。
[解决办法]
没关系,这是因为3楼贴的代码中有一点点小问题,可能是论坛处理代码的缘故吧,丢了几个字母或者空格什么的,稍稍改一下就可以了。
你贴这个试试吧,我稍稍改了改:
#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_CREATE: //PlaySound (TEXT ("hellowin.wav"), NULL, SND_FILENAME | SND_ASYNC) ; return 0 ; 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) ;}