1.使用C调用window API来画,其实C++也是这样作的
2.使用C的图型库,这样的程序如果你是成手,也会作出好看的GUI,但是比1要难一些
3.使用QT等第三方库
如何用c语言设计一个简单的菜单~
睿渊 (睿智;学识渊博)
代码
#include
LRESULT CALLBACK WndProc( HWND, UINT, WPARAM, LPARAM ) ; //声明用来处理消息的函数
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow )
{
static TCHAR szAppName[] = TEXT("MyWindow") ;
HWND hwnd ;
MSG msg ;
WNDCLASS wndclass ; //声明一个窗口类对象
//以下为窗口类对象wndclass的属性
wndclass.style = CS_HREDRAW | CS_VREDRAW ; //窗口样式
wndclass.lpszClassName = szAppName ; //窗口类名
wndclass.lpszMenuName = NULL ; //窗口菜单:无
wndclass.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH) ; //窗口背景颜色
wndclass.lpfnWndProc = WndProc ; //窗口处理函数
wndclass.cbWndExtra = 0 ; //窗口实例扩展:无
wndclass.cbClsExtra = 0 ; //窗口类扩展:无
wndclass.hInstance = hInstance ; //窗口实例句柄
wndclass.hIcon = LoadIcon( NULL, IDI_APPLICATION ) ; //窗口最小化图标:使用缺省图标
wndclass.hCursor = LoadCursor( NULL, IDC_ARROW ) ; //窗口采用箭头光标
if( !RegisterClass( &wndclass ) )
{ //注册窗口类, 如果注册失败弹出错误提示
MessageBox( NULL, TEXT("窗口注册失败!"), TEXT("错误"), MB_OK | MB_ICONERROR ) ;
return 0 ;
}
hwnd = CreateWindow( //创建窗口
szAppName, //窗口类名
TEXT("我的窗口"), //窗口标题
WS_OVERLAPPEDWINDOW, //窗口的风格
CW_USEDEFAULT, //窗口初始显示位置x:使用缺省值
CW_USEDEFAULT, //窗口初始显示位置y:使用缺省值
CW_USEDEFAULT, //窗口的宽度:使用缺省值
CW_USEDEFAULT, //窗口的高度:使用缺省值
NULL, //父窗口:无
NULL, //子菜单:无
hInstance, //该窗口应用程序的实例句柄
NULL //
) ;
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: //窗口创建完成时发来的消息
MessageBox( hwnd, TEXT("窗口已创建完成!"), TEXT("我的窗口"), MB_OK | MB_ICONINFORMATION ) ;
return 0;
case WM_PAINT: //处理窗口区域无效时发来的消息
hdc = BeginPaint( hwnd, &ps ) ;
GetClientRect( hwnd, &rect ) ;
DrawText( hdc, TEXT( "Hello, 卫班科技!" ), -1, &rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER ) ;
EndPaint( hwnd, &ps ) ;
return 0 ;
case WM_LBUTTONDOWN: //处理鼠标左键被按下的消息
MessageBox( hwnd, TEXT("鼠标左键被按下。"), TEXT("单击"), MB_OK | MB_ICONINFORMATION ) ;
return 0;
case WM_DESTROY: //处理窗口关闭时的消息
MessageBox( hwnd, TEXT("关闭程序!"), TEXT("结束"), MB_OK | MB_ICONINFORMATION ) ;
PostQuitMessage( 0 ) ;
return 0;
}
return DefWindowProc( hwnd, message, wParam, lParam ) ; //DefWindowProc处理我们自定义的消息处理函数没有处理到的消息
}
#13953251451#
怎么用C语言编写个可视界面? - ******
#刘恒# c语言的可视界面就象现在TurboC,DOS工具箱那样的界面.网上有源码下载,你搜一下就知了,我下过几个,有你上面所说的程序.要写真正的可视化界面,建议你用java或者c++.
#13953251451#
求C语言做界面教程!!! - ******
#刘恒# #include /*DOS接口函数*/#include /*数学函数的定义*/#include /*屏幕操作函数*/#include /*I...
#13953251451#
想用C语言编写一个有可视化的界面,有按钮,有输入框的程序 - ******
#刘恒# 可以用MFC做界面,在Visual C++新建》项目》MFC AppWizard(exe)》dialog based》下面都默认,就能建立一个MFC工程.可以添加控件,控件响应的原理与VB中的类似,建议你找本MFC的教材仔细了解其原理
#13953251451#
怎么设计程序界面 - ******
#刘恒# 首先告诉你你所学的c语言程序设计是无法编出窗口界面,是因为你没学过Window编程.但c语言确实可以编出窗口界面来.即传统的api编程.WindowsAPI大都用c编写的.所以用c能实现vc所有功能,说到底vc封装了api最终调用的也所以是api来实现窗口的显示与消息的处理.建议你看一下Windows程序设计
#13953251451#
c语言 怎么做图形界面的程序 - ******
#刘恒# TC里面提供的图形方面的函数库,在一定程度上丰富了C语言程序的,但是这些东西都很初级,且功能非常有限.如果想在Windows平台用C做好程序的窗口,推荐学习Windows程序设计,和C语言差不多,也比较容易掌握
#13953251451#
c语言怎么设计用户界面? ******
#刘恒# 纯C下一般使用绘图函数来完成了,涉及到很底层的东西,有点麻烦. VC++下可以用Win32下的Windows GDI API来绘制界面.
#13953251451#
怎么用C语言写图形界面?? - ******
#刘恒# 不知你所指百的图形界面是窗口程序还是画图,如果是要窗口程序,用sdk或winapi编写.如果是要画图形,在网上搜度索“C语言 graphics“,找到问相应资源下载,然后把其中的graphics.h放到vc目录下的include文件夹里,graphics.lib放到lib文件夹里,这就算配置成功了.然后在程序里答如果需要用到图形库函数,就在开头#include<graphics.h>就ok.至于里内面的图形函数你可以查看graphics.h,里面有函数声明及其使用方法容,或者直接百度graphics.h也行.
#13953251451#
请问如何用c语言做一个图形界面呢?比如一个迷宫游戏的界面 - ******
#刘恒# 图形界面接口因系统(windows /Linux)而不一样.在windows下因为系统是用C开发的,标准API接口就是C接口,称好windows API 这就是常62616964757a686964616fe59b9ee7ad9431333264663637说的API编程 int WINAPI WinMain(...
#13953251451#
怎么样让一个简单的C程序有界面 - ******
#刘恒# C语言是一门通用计算机编程语言,应用广泛.C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言.尽管C语言提供了许多低级处理的功能,但仍然保持着...
#13953251451#
怎样制作C程序的操作界面呀? - ******
#刘恒# 操作界面有图形操作界面和非图形的.我这里假设你想做的是图形界面.ANSI C本身并不带图形的内容,如果想用C做图形操作界面需要借助第3方类库或者系统提供的调用.如果想我推荐一个,C初学者如果使用的tuboc编译器(不知道拼错...