导航:首页 > 编程语言 > vc图形界面编程

vc图形界面编程

发布时间:2022-08-10 16:07:21

❶ VC中如何用C语言实现图形界面程序(非easyx)看起来MFC都是用C++搞的,不能用C么、、、、、

可以用C编程Windows下的图形界面程序,但是个相当繁重的工作,你得自己写WinMain主函数,自己注册窗口,自己消息分发,自己定义控件,自己写菜单,这些windows程序最基本的东西写完后人就累的不成样子了,然后又得在集中兵力去写自己菜单、消息、控件、自己的功能实现。。。。这些全部得借助Win32 API(应用程序编程接口),我想你不会有时间去学习那庞大的API群。微软也就是出去这些方面的考虑,为了方便程序设计开发Windows应用程序,使自己的windows丰富起来,于1989年成立AFX(ApplicationFramework,X是个后缀,让人看起来NB),
开发可以达到上述目的开发工具,MFC于几年后变孕育而生了。由于是个框架,使用面向对象的程序设计语言是不二的选择(C不面向对象的,C里面不能用MFC,但MFC可以用C)。MFC的封装可谓是极其完美,程序设计者可以完全集中精力去软件功能上的开发。MFC的实现可谓是鬼斧神工,实在是匠心独运。。。。多说无益,你自己看着办吧

❷ 用VC++怎么做图形界面的软件

以下程序在VisualC++6.0测试通过,能够出现一个正规的Windows窗口


#pragma comment(linker,"/SUBSYSTEM:Windows /ENTRY:mainCRTStartup")
#include <windows.h>
/* 使类名成为全局变量 */
TCHAR szClassName[ ] = TEXT("WindowsApp");
/* 这个函数由Windows内部函数DispatchMessage()调用 */
LRESULT CALLBACK WindowProcere (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 = GetMoleHandle(NULL) ;
int nFunsterStil = SW_SHOW ;
HWND hWnd; /* 这是窗口的句柄 */
MSG messages;/* 应用程序的消息保存在这里 */
WNDCLASSEX wincl;/* 窗口类的数据结构 */
/* 窗口结构 */
wincl.hInstance = hThisInstance;
wincl.lpszClassName = szClassName;
wincl.lpfnWndProc = WindowProcere;/* 这个函数由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;
/* 注册窗口类。如果注册失败,那么就退出程序 */
if (!RegisterClassEx (&wincl))
return 0;
/* 窗口类已被注册。创建它的程序 */
hWnd = CreateWindowEx (
0,
szClassName, /* 类名 */
TEXT("Windows App"), /* 窗口标题栏的文字 */
WS_OVERLAPPEDWINDOW, /* 默认窗口 */
CW_USEDEFAULT, /* 窗口左上角的位置 */
CW_USEDEFAULT, /* 窗口右下角的位置 */
544, /* 窗口宽度(以“像素”位单位) */
375, /* 窗口高度(以“像素”位单位) */
HWND_DESKTOP,/* 窗口是桌面的子窗口 */
NULL,/* 该窗口无菜单 */
hThisInstance, /* 程序实例的句柄 */
NULL /* 没有窗口创建的数据 */
);
/* 显示窗口 */
ShowWindow (hWnd, nFunsterStil);
/* 重绘窗口 */
UpdateWindow(hWnd);
/* 运行消息循环。循环到GetMessage()函数返回0 */
while (GetMessage (&messages, NULL, 0, 0))
{
/* 把虚拟信息翻译成字符信息 */
TranslateMessage(&messages);
/* 发送信息到窗口过程 */
DispatchMessage(&messages);
}
/* 返回PostQuitMessage()函数的返回值 */
return messages.wParam;
}


运行结果如下:

❸ 怎样在VC6.0下开发具有图形界面的C语言程序

看windows核心编程,调用windows api创建并显示窗口,创建消息循环函数。
VC自带实例代码。
建议不要用6.0,用2008以上版本。

❹ c语言 用vc图形界面编程 教程

Windows程序设计看吗?已发。你的代码只能用TC编译。你那个代码用到了TC自己的库。没有办法的事

❺ 如何用C语言编程出可视化界面

//调用api函数创建窗口

//示例:

#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("MyWindows");//定义窗口类名

HWND hwnd;//窗口句柄

MSG msg; //

WNDCLASS wndclass; //窗口类


wndclass.style = CS_HREDRAW | CS_VREDRAW;//指定窗口类型,各种“类风格”(详见下方↓)可以使用按位或操作符组合起来

wndclass.lpfnWndProc = WndProc;//指定窗口过程(必须是回调函数)

wndclass.cbClsExtra = 0;//预留的额外空间,一般为 0

wndclass.cbWndExtra = 0;//预留的额外空间,一般为 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("这个程序需要在 Windows NT 才能执行!"), szAppName, MB_ICONERROR);

return 0;

}


hwnd = CreateWindow(szAppName, //创建窗口

TEXT("windows"),

WS_OVERLAPPEDWINDOW,

CW_USEDEFAULT,

CW_USEDEFAULT,

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_PAINT:

hdc = BeginPaint(hwnd, &ps);

GetClientRect(hwnd, &rect);

DrawText(hdc, TEXT("第一个C语言窗口程序!"), -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);

}

❻ VC下的图形界面用c语言应该怎么编写应看什么教材望推荐!

以下程序在VisualC++6.0测试通过,能够出现一个正规的Windows窗口

#pragmacomment(linker,"/SUBSYSTEM:Windows/ENTRY:mainCRTStartup")

#include<windows.h>

/*使类名成为全局变量*/
charszClassName[]="WindowsApp";

/*这个函数由Windows内部函数DispatchMessage()调用*/
LRESULTCALLBACKWindowProcere(HWNDhWnd,UINTmessage,WPARAMwParam,LPARAMlParam)
{
HDChdc;
PAINTSTRUCTps;
RECTrect;
switch(message)/*处理信息*/
{
caseWM_DESTROY:
PostQuitMessage(0);/*发送WM_QUIT到消息队列*/
break;
caseWM_PAINT:
hdc=BeginPaint(hWnd,&ps);
GetClientRect(hWnd,&rect);
DrawText(hdc,TEXT("Hello,WindowsNT!"),-1,&rect,DT_SINGLELINE|DT_CENTER|DT_VCENTER);
EndPaint(hWnd,&ps);
break;
default:/*不处理的消息*/
returnDefWindowProc(hWnd,message,wParam,lParam);
}
return0;
}


/*下面是主函数*/
intmain(void)
{
HINSTANCEhThisInstance=GetMoleHandle(NULL);
intnFunsterStil=SW_SHOW;
HWNDhWnd;/*这是窗口的句柄*/
MSGmessages;/*应用程序的消息保存在这里*/
WNDCLASSEXwincl;/*窗口类的数据结构*/

/*窗口结构*/
wincl.hInstance=hThisInstance;
wincl.lpszClassName=szClassName;
wincl.lpfnWndProc=WindowProcere;/*这个函数由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;

/*注册窗口类。如果注册失败,那么就退出程序*/
if(!RegisterClassEx(&wincl))
return0;

/*窗口类已被注册。创建它的程序*/
hWnd=CreateWindowEx(
0,
szClassName, /*类名*/
"WindowsApp", /*窗口标题栏的文字*/
WS_OVERLAPPEDWINDOW,/*默认窗口*/
CW_USEDEFAULT,/*窗口左上角的位置*/
CW_USEDEFAULT,/*窗口右下角的位置*/
544,/*窗口宽度(以“像素”位单位)*/
375,/*窗口高度(以“像素”位单位)*/
HWND_DESKTOP,/*窗口是桌面的子窗口*/
NULL,/*该窗口无菜单*/
hThisInstance,/*程序实例的句柄*/
NULL/*没有窗口创建的数据*/
);

/*显示窗口*/
ShowWindow(hWnd,nFunsterStil);
/*重绘窗口*/
UpdateWindow(hWnd);

/*运行消息循环。循环到GetMessage()函数返回0*/
while(GetMessage(&messages,NULL,0,0))
{
/*把虚拟信息翻译成字符信息*/
TranslateMessage(&messages);
/*发送信息到窗口过程*/
DispatchMessage(&messages);
}

/*返回PostQuitMessage()函数的返回值*/
returnmessages.wParam;
}


❼ 怎么在VC++6.0上实现图形编程

你可以试着用ege安装也不麻烦

这是效果图需要的话请回复

❽ C语言中,用VC6.0怎么编写图形界面及其操作,因为VC中没有图像库,所以不知道怎么弄。麻烦说得详细一点

如果你C语言过关的话,去看看windows编程,最好学下C++,至少要知道类这些
vc有图形图像工具 GDI
至于怎么弄,不是一两句话就能说明白,看你自己了

❾ 怎样用c语言写一个图形界面

代码

#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("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处理我们自定义的消息处理函数没有处理到的消息

}

阅读全文

与vc图形界面编程相关的资料

热点内容
初学c语言显示源未编译 浏览:245
资产概况源码 浏览:472
dos命令建文件夹命令 浏览:379
解压的密码htm被屏蔽 浏览:502
冬天太冷冰箱压缩机不启动怎么办 浏览:83
手机打开vcf需要什么编译器 浏览:910
加密磁盘后开机很慢 浏览:271
长沙智能云控系统源码 浏览:258
阿里云服务器如何设置操作系统 浏览:999
超级命令的英文 浏览:783
做账为什么要用加密狗 浏览:586
考研群体怎么解压 浏览:159
linux修改命令提示符 浏览:226
圆圈里面k图标是什么app 浏览:63
pdf加空白页 浏览:948
linux服务器如何看网卡状态 浏览:318
解压新奇特视频 浏览:707
图书信息管理系统java 浏览:554
各种直线命令详解 浏览:864
程序员泪奔 浏览:147