
C语方下可以在文本模式下作出,也可以在图形模式下画出,用的是一些扩展库,就是说不是C标准库,下面给一个框架,不知道建不建议学,感觉过时了,看你自已的兴趣了,感兴趣下了功夫肯定能学好,因为它根本就不难,只不过用了些非标准库的所谓高级函数而已
#include <processh>
#include <dosh>
#include <conioh>
#define Key_DOWN 0x5100
#define Key_UP 0x4900
#define Key_ESC 0x011b
#define Key_ALT_F 0x2100
#define Key_ALT_X 0x2d00
#define Key_ENTER 0x1c0d
void box(int startx,int starty,int high,int width);
main()
{
int i,key,x,y,l;
char menu[] = ;
/ 主菜单各项 /
char red[] = ; / 加上红色热键 /
char f[] = ;
/ File 项的子菜单 /
char buf[16102],buf1[162]; / 定义保存文本的缓冲区 /
while(1)
{
textbackground(BLUE);
clrscr();
textmode(C80);
window(1,1,80,1);/ 定义显示主菜单的窗口 /
textbackground(LIGHTGRAY);
textcolor(BLACK);
clrscr();
gotoxy(5,1);
for(i=0,l=0;i<8;i++)
{
x=wherex(); / 得到当前光标的坐标 /
y=wherey();
cprintf("%s",menu[i]); / 显示各菜单项 /
l=strlen(menu[i]); / 得到菜单项的长度 /
gotoxy(x,y);
textcolor(RED);
cprintf("%s",red[i]); / 在主菜单项各头字符写上红字符 /
x=x+l+5;
gotoxy(x,y);
textcolor(BLACK); / 为显示下一个菜单项移动光标 /
}
gotoxy(5,1);
key=bioskey(0);
switch (key){
case Key_ALT_X:
exit(0); / ALT_X 则退出 /
case Key_ALT_F:
{
textbackground(BLACK);
textcolor(WHITE);
gotoxy(5,1);
cprintf("%s",menu[0]); / 加黑 File 项 /
gettext(5,2,20,12,buf); / 保存窗口原来的文本 /
window(5,2,20,9);/ 设置作矩形框的窗口 /
textbackground(LIGHTGRAY);
textcolor(BLACK);
clrscr();
box(1,1,7,16); / 调用作框函数 /
for(i=2;i<7;i++) / 显示子菜单各项 /
{ gotoxy(2,i);
cprintf("%s",f[i-2]);
}
gettext(2,2,18,3,buf1); /将下拉菜单的内容保存在 buf1/
textbackground(BLACK);
textcolor(WHITE);
gotoxy(2,2);
cprintf("%s",f[0]);/加黑下拉菜单的第一项 load file/
gotoxy(2,2);
y=2;
while ((key=bioskey(0))!=Key_ALT_X) / 等待选择下拉菜单项/
{
if ((key==Key_UP)||(key==Key_DOWN))
{
puttext(2,y,18,y+1,buf1); / 恢复原先的项 /
if (key==Key_UP)
y=y==26:y-1;
else
y=y==62:y+1;
gettext(2,y,18,y+1,buf1);/保存要压上光条的子菜单项/
textbackground(BLACK);
textcolor(WHITE);
gotoxy(2,y);
cprintf("%s",f[y-2]); / 产生黑条压在所选项上 /
gotoxy(2,y);
}
else
if (key==Key_ENTER)/ 若是回车键,判断是哪一子菜单按的回
车,在此没有相应的特殊处理/
{
switch ( y-1 ){
case 1: / 是子菜单项第一项:Load file /
break;
case 2: / Save file /
break;
case 3: / print /
break;
case 4: / modify /
break;
case 5:
exit(0);
default:
break;
}
break;
}
else
if (key==Key_ESC)
break; / 是 Esc 键,返回主菜单 /
}
if (key==Key_ALT_X) exit(0);
break;
}
}
}
}
void box(int startx,int starty,int high,int width) / 画矩形框函数 /
{ int i;
gotoxy(startx,starty);
putch(0xda); / 画┌ /
for (i=startx+1;i<width;i++) putch(0xc4); / 画— /
putch(0xbf); / 画┐ /
for( i=starty+1;i<high;i++)
{
gotoxy(startx,i);putch(0xb3); / 画│ /
gotoxy(width,i);putch(0xb3); / 画│ /
}
gotoxy(startx,high);
putch(0xc0); / 画└ /
for (i=startx+1;i<width;i++) putch(0xc4); / 画— /
putch(0xd9); / 画┘ /
return ;
}
那需要学VC。确切的说是要学MFC。
MFC编图形化程序也是很麻烦的,难学,繁琐。
其实你可以再学Java或者C#。
Java本身也不适合做图形化应用程序,但是比MFC要简单得多。
C#则是当前做图形化程序最简单高效的了,不需要编程单靠鼠标拖拽就能做出图形界面。特别是C#的WPF图形框架更是把图形化编程简化到了极限。
所以强烈建议学C#。
C#语言综合Java和C++的优点。Java和C++都源自C语言。所以学C#之前最好先学一下C++,C、C++、C#可以说是一脉相承,向下兼容的。
总之,学图形化编程比较好的顺序是:
C(结构化语言,入门)-> C++(面向对象语言,铺垫) -> C# (享受快速图形化开发吧)
忘解释那几个名词了,补上:
集成开发环境:就是IDE,一类开发工具。
你的代码本来可以直接在记事本里写完,然后命令行下调用编译器编译就能执行了。
集成开发环境将代码编辑、代码编译执行、代码调试功能集成在一起(甚至集成更多功能),使开发人员的开发变得更加高效。比如Visual C++ 60就是一个集成开发环境,还有Eclipse、CodeBlocks、Visual Studio等都是。
图形API:进行图形化编程的应用程序编程接口(application programming interface:API)
你的程序通过调用这些接口来直接生成标准的图形控件,比如按钮、文本框之类的,不需要你手动写实现这些控件的方法,只需要调用图形化API的方法就能自动生成。这些API都是将有关图形化的具体实现类封装在类库中向开发者提供,简化图形化开发。MFC就是为C和C++提供的图形化API,确切的说是Windows系统的图形化API。而WinForm和WPF就是为C#提供的图形化API。这些API都是微软提供的。当然Linux等其他系统有自己的图形化API。
GUI:图形用户接口(Graphical User Interface)
这个其实就是应用程序界面的意思。命令行下输入命令的方式来进行 *** 作那叫命令行接口,有了应用程序界面后,可以通过鼠标进行 *** 作。这些界面就是GUI了。由于图形界面只是方便用户 *** 作,具体的内部实现还是命令行方式完成的,因此称界面为接口。
以上就是关于c语言如何编写界面程序全部的内容,包括:c语言如何编写界面程序、如何用c语言作出有图形界面的小程序、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)