Vs2008开发C语言图形界面

1.建立项目(在VS2008中称为项目)。文件-新建-项目,然后在弹出窗口的左侧选择Visual C,在右侧选择Win32控制台应用程序,在下面输入一个名称(注意路径,默认是ok),然后“确定”——接下来,在这里,勾选“空项目”,最后“确定”。

2.上面的工作做好了,下面的工作就好做了。创建新文件,编写代码,编译和运行。

visual studio如何用C语言编程图形? 新建一个项目,选择win32项目,应用程序是windows程序,附加选项为空;添加带有后缀的源文件。c到源代码目录。然后就可以写C代码了。

用C语言调用windows的api函数,显示窗口、菜单、滚动条和屏幕输出。

《windows编程》这本书里有一个例子,展示了一个标准的windows窗口,在绘图区有一个字符串。代码如下:

#includewindows.h

LRESULT回调WndProc (HWND,UINT,WPARAM,LPARAM);

int WINAPI WinMain(h instance h instance,HINSTANCE hPrevInstance,PSTR szCmdLine,int iCmdShow)

{

静态TCHAR szapname[]= TEXT(" hello win ");

HWND hwnd

味精味精;

WNDCLASS wndclass

wnd class . style = CS _ HREDRAW | | CS _ VREDRAW;

wndclass.lpfnWndProc = WndProc

wnd class . cbclsextra = 0;

wnd class . cbwndextra = 0;

wnd class . h instance = h instance;

wndclass.hIcon = LoadIcon(NULL,IDI _应用);

wnd class . hcursor = load cursor(NULL,IDC _ ARROW);

wnd class . HBR background =(HBRUSH)GetStockObject(WHITE _ BRUSH);

wndclass.lpszMenuName = NULL

wnd class . lpszclassname = SZ appname;

如果(!RegisterClass(wndclass))

{

MessageBox(NULL,TEXT("该程序需要Windows NT!"),szAppName,MB _ icon error);

返回0;

}

hwnd = CreateWindow(szAppName,

文本(“Hello程序”),

WS_OVERLAPPEDWINDOW,

CW_USEDEFAULT,

CW_USEDEFAULT,

CW_USEDEFAULT,

CW_USEDEFAULT,

空,

空,

hInstance,

NULL);

ShowWindow(hwnd,icmd show);

//update window(hwnd);

while(GetMessage(msg,NULL,0,0))

{

翻译消息(msg);

DispatchMessage(消息);

}

返回msg.wParam

}

LRESULT回调WndProc(HWND hwnd,UINT消息,WPARAM wParam,LPARAM lParam)

{

HDC hdc

PAINTSTRUCT ps

RECT矩形;

开关(消息)

{

案例WM_CREATE:

//PlaySound(TEXT(" C:\ \ Windows notify . wav "),NULL,SND _ FILENAME | SND _ ASYNC);

返回0;

案例WM_PAINT:

hdc = BeginPaint(hwnd,PS);

GetClientRect(hwnd,rect);

DrawText(hdc,Text("你好,Windows 98!"),-1,rect,DT _ single line | DT _ CENTER | DT _ VCENTER);

EndPaint(hwnd,PS);

返回0;

案例WM_DESTROY:

PostQuitMessage(0);

返回0;

}

返回DefWindowProc(hwnd,message,wParam,lParam);

}

将其复制到。c文件,你可以编译并运行它。

如何制作C语言的图形界面? 这是最简单的接口程序:// c .cpp:定义应用的入口点。

//

#包含" stdafx.h "

#包括“c .h”

#定义MAX_LOADSTRING 100

//全局变量:

HINSTANCE hInst//当前实例

TCHAR SZ title[MAX _ LOADSTRING];//标题栏文本

TCHAR szWindowClass[MAX _ LOADSTRING];//主窗口类名

//此代码模块中包含的函数的前向声明:

ATOMMyRegisterClass(h instance h instance);

BOOLInitInstance(h instance,int);

LRESULT callbackndproc(HWND,UINT,WPARAM,LPARAM);

INT _ PTR callback about(HWND,UINT,WPARAM,LPARAM);

int API entry _ twin main(h instance h instance,

HINSTANCE hPrevInstance,

LPTSTR lpCmdLine,

int nCmdShow)

{

un referenced _ PARAMETER(hPrevInstance);

un referenced _ PARAMETER(lpCmdLine);

// TODO:将代码放在这里。

味精味精;

HACCEL hAccelTable

//初始化全局字符串

LoadString(hInstance,IDS_APP_TITLE,szTitle,MAX _ LoadString);

LoadString(hInstance,IDC_C,szWindowClass,MAX _ LoadString);

MyRegisterClass(h instance);

//执行应用程序初始化:

如果(!InitInstance (hInstance,nCmdShow))

{

返回FALSE

}

HAC celtable = load accelerators(hin instance,MAKEINTRESOURCE(IDC _ C));

//主消息循环:

while (GetMessage(msg,NULL,0,0))

{

如果(!TranslateAccelerator(msg.hwnd,hAccelTable,msg))

{

翻译消息(msg);

DispatchMessage(消息);

}

}

return(int)msg . wparam;

}

//

//函数:MyRegisterClass()

//

//目的:注册窗口类。

//

//注意:

//

//除非你愿意

//这段代码与Windows 95中添加的“RegisterClassEx”相同。

//只有在Win32系统兼容该函数之前,才需要该函数及其用法。调用这个函数非常重要。

//以便应用程序可以获取关联的

//格式良好的图标。

//

ATOM my register class(h instance h instance)

{

WNDCLASSEX wcex

wcex . CB size = sizeof(WNDCLASSEX);

wcex . style = CS _ HREDRAW | CS _ VREDRAW;

wcex.lpfnWndProc = WndProc

wcex . cbclsextra = 0;

wcex . cbwndextra = 0;

wcex . h instance = h instance;

wcex . hicon = load icon(h instance,MAKEINTRESOURCE(IDI _ C));

wcex . hcursor = load cursor(NULL,IDC _ ARROW);

wcex . HBR background =(HBRUSH)(COLOR _ WINDOW 1);

wcex . lpszmenuname = MAKEINTRESOURCE(IDC _ C);

wcex . lpszclassname = szWindowClass;

wcex . hi consm = load icon(wcex . h instance,MAKEINTRESOURCE(IDI _ SMALL));

返回RegisterClassEx(wcex);

}

//

//函数:InitInstance(hin instance,int)

//

//目的:保存实例句柄,创建主窗口。

//

//注意:

//

//在这个函数中,我们将实例句柄保存在全局变量中

//创建并显示主程序窗口。

//

BOOL InitInstance(h instance h instance,int nCmdShow)

{

HWND hWnd

hInst = hInstance//将实例句柄存储在全局变量中。

hWnd = create window(szWindowClass,szTitle,WS_OVERLAPPEDWINDOW,

CW_USEDEFAULT,0,CW_USEDEFAULT,0,NULL,NULL,hInstance,NULL);

如果(!hWnd)

{

返回FALSE

}

ShowWindow(hWnd,nCmdShow);

更新窗口(hWnd);

返回TRUE

}

//

//函数:wndproc (hwnd,uint,wparam,lparam)

//

//目的:处理主窗口中的消息。

//

//WM _ command-处理应用程序菜单

//WM _ paint-绘制主窗口。

//WM _ destroy-发送退出消息并返回。

//

//

LRESULT回调WndProc(HWND hWnd,UINT消息,WPARAM wParam,LPARAM lParam)

{

int wmId,wmEvent

PAINTSTRUCT ps

HDC hdc

开关(消息)

{

案例WM_COMMAND:

wmId = LOWORD(wParam);

WM event = hi word(wParam);

//分析菜单选择:

开关(wmId)

{

案例IDM _关于:

DialogBox(hInst,MAKEINTRESOURCE(IDD_ABOUTBOX),hWnd,About);

打破;

案例IDM_EXIT:

destroy window(hWnd);

打破;

默认值:

返回DefWindowProc(hWnd,message,wParam,lParam);

}

打破;

案例WM_PAINT:

hdc = BeginPaint(hWnd,PS);

// TODO:在此添加任何绘图代码。...

EndPaint(hWnd,PS);

打破;

案例WM_DESTROY:

PostQuitMessage(0);

打破;

默认值:

返回DefWindowProc(hWnd,message,wParam,lParam);

}

返回0;

}

//关于框的消息处理程序。

INT_PTR回调About(HWND hDlg,UINT message,WPARAM wParam,LPARAM lParam)

{

un referenced _ PARAMETER(lParam);

开关(消息)

{

案例WM_INITDIALOG:

return(INT _ PTR)TRUE;

案例WM_COMMAND:

if(LOWORD(wParam)= = IDOK | | LOWORD(wParam)= = id cancel)

{

EndDialog(hDlg,LOWORD(wParam));

return(INT _ PTR)TRUE;

}

打破;

}

return(INT _ PTR)FALSE;

}

现在用C语言写图形界面程序(软件)用什么编译环境(工具)? 在Windows操作系统中,通常使用Visual C(包括Visual Studio中的Visual C)来编写图形用户界面。如果像楼主说的要用C语言,只能用Windows API函数。如果还允许用C语言,也可以用MFC(当然也可以用Windows API函数)。

当然,你也可以用Qt这样的库,而不是微软的库。

==========================================================

在Linux操作系统下写一个图形用户界面,我们用gcc编译器加Xlib库或者gtk库或者Qt库。如果C语言允许,可以用G编译器,以上三个库都可以,也可以用wxWidgets库。

新手问如何用VS2008写C语言? 很简单。

可以用。

创建一个类似VC6的CPP文件。然后头文件引用cstdio头文件。

文件-新建-项目-WIN32控制台应用程序,然后:

一个树形的东西在右边出来,在源文件里。

右键单击-添加-新项目

这时候一个大视野就出来了。查找CPP文件

在底部输入你的名字。然后

像这样

#包括cstdio

使用命名空间std

int main()

{

printf(" hello ");

返回0

}

注意如果你想使用另一个头文件。在C语言的头文件前面加个C就行了。

例如,您想引用

c语言中stdlib.h的头文件

好了

#包含csdtlib

……

如果你想参考c语言的字符串头文件,就是这样

#包括cstring

或者直接引用

stdio.h的图书馆

等一下。

如果你还是不懂,加我百度HI,我一步一步告诉你。

如何在VS2008中制作图形界面?我的程序是用C语言写的。 只用C语言做一个图形界面是很麻烦的,而且学校里教的是标准C,通常是命令行形式的应用程序。如果你想做一个图形界面,我不知道。

相关文章

发表新评论