界面函数c语言,c语言的界面

怎么用c语言做一个界面?

空窗口:

我们提供的服务有:网站制作、成都网站建设、微信公众号开发、网站优化、网站认证、长乐ssl等。为近1000家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的长乐网站制作公司

#include windows.h

/* 所有的窗口输出到这里去 */

LRESULT CALLBACK WndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam) {

switch(Message) {

/* 停止后,告诉主线程停止 */

case WM_DESTROY: {

PostQuitMessage(0);

break;

}

/* 所有其他消息都使用默认程序处理 */

default:

return DefWindowProc(hwnd, Message, wParam, lParam);

}

return 0;

}

/* Win32 GUI程序的主要功能:从这里开始执行 */

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {

WNDCLASSEX wc; /* 窗口的属性结构 */

HWND hwnd; /* "句柄" 一个窗口的标识符 */

MSG Msg; /* 所有消息的临时位置 */

/* 修改结构和设置的东西 */

memset(wc,0,sizeof(wc));

wc.cbSize  = sizeof(WNDCLASSEX);

wc.lpfnWndProc  = WndProc; /* 发送消息的地方 */

wc.hInstance  = hInstance;

wc.hCursor  = LoadCursor(NULL, IDC_ARROW);

/* 白色,COLOR_WINDOW是系统定义的颜色值,其数值是5 */

wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);

wc.lpszClassName = "WindowClass";

wc.hIcon  = LoadIcon(NULL, IDI_APPLICATION); /* 载入一个标准图标 */

wc.hIconSm  = LoadIcon(NULL, IDI_APPLICATION); /* 使用名称“A”来作为该项目图标 */

if(!RegisterClassEx(wc)) {

MessageBox(NULL, "Window Registration Failed!","Error!",MB_ICONEXCLAMATION|MB_OK);

return 0;

}

hwnd = CreateWindowEx(WS_EX_CLIENTEDGE,"WindowClass","Caption",WS_VISIBLE|WS_OVERLAPPEDWINDOW,

CW_USEDEFAULT, /* x */

CW_USEDEFAULT, /* y */

640, /* 宽度 */

480, /* 高度 */

NULL,NULL,hInstance,NULL);

if(hwnd == NULL) {

MessageBox(NULL, "Window Creation Failed!","Error!",MB_ICONEXCLAMATION|MB_OK);

return 0;

}

/*

所有的输入处理和发送到窗口过程。

注意,这个块代码流,直到它接收到的东西, 

所以回路不会产生不合理的高CPU使用率。 

*/

while(GetMessage(Msg, NULL, 0, 0)  0) /* 如果没有收到任何错误…*/

{

TranslateMessage(Msg); /* 如果存在翻译关键码字符*/

DispatchMessage(Msg); /* 发送它到WndProc */

}

return Msg.wParam;

}

怎么用c语言实现选择界面

1函数说明编辑函数原型:int

bioskey

(int

cmd)说明:bioskey()的函数原型在bios.h中bioskey()完成直接键盘操作,cmd的值决定执行什么操作。cmd

=

0:当cmd是0,bioskey()返回下一个在键盘键入的值(它将等待到按下一个键)。它返回一个16位的二进制数,包括两个不同的值。当按下一个普通键时,它的低8位数存放该字符的ASCII码,高8位存放该键的扫描码;对于特殊键(如方向键、F1~F12等等),低8位为0,高8位字节存放该键的扫描码。cmd

=

1:当cmd是1,bioskey()查询是否按下一个键,若按下一个键则返回非零值,否则返回0。cmd

=

2:当cmd是2,bioskey()返回Shift、Ctrl、Alt、ScrollLock、NumLock、CapsLock、Insert键的状态。各键状态存放在返回值的低8位字节中。字节位

含义0

右边Shift键状态1

左边Shift键状态2

Ctrl键状态3

Alt键状态4

ScrollLock键状态5

NumLock键状态6

CapsLock键状态7

Insert键状态字节位为1表示该键被按下,为0表示松开。2函数例子编辑程序例:#include

c语言如何编写界面程序

C语方下可以在文本模式下作出,也可以在图形模式下画出,用的是一些扩展库,就是说不是C标准库,下面给一个框架,不知道建不建议学,感觉过时了,看你自已的兴趣了,感兴趣下了功夫肯定能学好,因为它根本就不难,只不过用了些非标准库的所谓高级函数而已

#include process.h

#include dos.h

#include conio.h

#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[16*10*2],buf1[16*2]; /* 定义保存文本的缓冲区 */

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;i8;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;i7;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==2?6:y-1;

else

y=y==6?2: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;iwidth;i++) putch(0xc4); /* 画— */

putch(0xbf); /* 画┐ */

for( i=starty+1;ihigh;i++)

{

gotoxy(startx,i);putch(0xb3); /* 画│ */

gotoxy(width,i);putch(0xb3); /* 画│ */

}

gotoxy(startx,high);

putch(0xc0); /* 画└ */

for (i=startx+1;iwidth;i++) putch(0xc4); /* 画— */

putch(0xd9); /* 画┘ */

return ;

}

C语言课程设计的界面应该使用哪些函数?

以下是graphics.h中的声明,常用的都比较好懂,实在不行就查查MSDN吧,上面有好多名字类似的函数功能都一样.

void far _Cdecl arc(int x, int y, int stangle, int endangle,

int radius);

void far _Cdecl bar(int left, int top, int right, int bottom);

void far _Cdecl bar3d(int left, int top, int right, int bottom,

int depth, int topflag);

void far _Cdecl circle(int x, int y, int radius);

void far _Cdecl cleardevice(void);

void far _Cdecl clearviewport(void);

void far _Cdecl closegraph(void);

void far _Cdecl detectgraph(int far *graphdriver,int far *graphmode);

void far _Cdecl drawpoly(int numpoints, int far *polypoints);

void far _Cdecl ellipse(int x, int y, int stangle, int endangle,

int xradius, int yradius);

void far _Cdecl fillellipse( int x, int y, int xradius, int yradius );

void far _Cdecl fillpoly(int numpoints, int far *polypoints);

void far _Cdecl floodfill(int x, int y, int border);

void far _Cdecl getarccoords(struct arccoordstype far *arccoords);

void far _Cdecl getaspectratio(int far *xasp, int far *yasp);

int far _Cdecl getbkcolor(void);

int far _Cdecl getcolor(void);

struct palettetype * far _Cdecl getdefaultpalette( void );

char * far _Cdecl getdrivername( void );

void far _Cdecl getfillpattern(char far *pattern);

void far _Cdecl getfillsettings(struct fillsettingstype far *fillinfo);

int far _Cdecl getgraphmode(void);

void far _Cdecl getimage(int left, int top, int right, int bottom,

void far *bitmap);

void far _Cdecl getlinesettings(struct linesettingstype far *lineinfo);

int far _Cdecl getmaxcolor(void);

int far _Cdecl getmaxmode(void);

int far _Cdecl getmaxx(void);

int far _Cdecl getmaxy(void);

char * far _Cdecl getmodename( int mode_number );

void far _Cdecl getmoderange(int graphdriver, int far *lomode,

int far *himode);

unsigned far _Cdecl getpixel(int x, int y);

void far _Cdecl getpalette(struct palettetype far *palette);

int far _Cdecl getpalettesize( void );

void far _Cdecl gettextsettings(struct textsettingstype far *texttypeinfo);

void far _Cdecl getviewsettings(struct viewporttype far *viewport);

int far _Cdecl getx(void);

int far _Cdecl gety(void);

void far _Cdecl graphdefaults(void);

char * far _Cdecl grapherrormsg(int errorcode);

void far _Cdecl _graphfreemem(void far *ptr, unsigned size);

void far * far _Cdecl _graphgetmem(unsigned size);

int far _Cdecl graphresult(void);

unsigned far _Cdecl imagesize(int left, int top, int right, int bottom);

void far _Cdecl initgraph(int far *graphdriver,

int far *graphmode,

char far *pathtodriver);

int far _Cdecl installuserdriver( char far *name, int huge (*detect)(void) );

int far _Cdecl installuserfont( char far *name );

void far _Cdecl line(int x1, int y1, int x2, int y2);

void far _Cdecl linerel(int dx, int dy);

void far _Cdecl lineto(int x, int y);

void far _Cdecl moverel(int dx, int dy);

void far _Cdecl moveto(int x, int y);

void far _Cdecl outtext(char far *textstring);

void far _Cdecl outtextxy(int x, int y, char far *textstring);

void far _Cdecl pieslice(int x, int y, int stangle, int endangle,

int radius);

void far _Cdecl putimage(int left, int top, void far *bitmap, int op);

void far _Cdecl putpixel(int x, int y, int color);

void far _Cdecl rectangle(int left, int top, int right, int bottom);

void far _Cdecl restorecrtmode(void);

void far _Cdecl sector( int X, int Y, int StAngle, int EndAngle,

int XRadius, int YRadius );

void far _Cdecl setactivepage(int page);

void far _Cdecl setallpalette(struct palettetype far *palette);

void far _Cdecl setaspectratio( int xasp, int yasp );

void far _Cdecl setbkcolor(int color);

void far _Cdecl setcolor(int color);

void far _Cdecl setfillpattern(char far *upattern, int color);

void far _Cdecl setfillstyle(int pattern, int color);

unsigned far _Cdecl setgraphbufsize(unsigned bufsize);

void far _Cdecl setgraphmode(int mode);

void far _Cdecl setlinestyle(int linestyle, unsigned upattern,

int thickness);

void far _Cdecl setpalette(int colornum, int color);

void far _Cdecl setrgbpalette(int colornum,

int red, int green, int blue);

void far _Cdecl settextjustify(int horiz, int vert);

void far _Cdecl settextstyle(int font, int direction, int charsize);

void far _Cdecl setusercharsize(int multx, int divx,

int multy, int divy);

void far _Cdecl setviewport(int left, int top, int right, int bottom,

int clip);

void far _Cdecl setvisualpage(int page);

void far _Cdecl setwritemode( int mode );

int far _Cdecl textheight(char far *textstring);

int far _Cdecl textwidth(char far *textstring);

/***** graphics drivers *****/

int _Cdecl registerbgidriver(void (*driver)(void));

int far _Cdecl registerfarbgidriver(void far *driver);

/* !! These "functions" are NOT user-callable !! */

/* !! They are there just so you can link in graphics drivers !! */

void _Cdecl CGA_driver(void);

void _Cdecl EGAVGA_driver(void);

void _Cdecl IBM8514_driver(void);

void _Cdecl Herc_driver(void);

void _Cdecl ATT_driver(void);

void _Cdecl PC3270_driver(void);

extern int far _Cdecl CGA_driver_far[];

extern int far _Cdecl EGAVGA_driver_far[];

extern int far _Cdecl IBM8514_driver_far[];

extern int far _Cdecl Herc_driver_far[];

extern int far _Cdecl ATT_driver_far[];

extern int far _Cdecl PC3270_driver_far[];

/***** graphics fonts *****/

int _Cdecl registerbgifont(void (*font)(void));

int far _Cdecl registerfarbgifont(void far *font);

/* !! These "functions" are NOT user-callable, !! */

/* !! they are there just so you can link in fonts !! */

void _Cdecl triplex_font(void);

void _Cdecl small_font(void);

void _Cdecl sansserif_font(void);

void _Cdecl gothic_font(void);

extern int far _Cdecl triplex_font_far[];

extern int far _Cdecl small_font_far[];

extern int far _Cdecl sansserif_font_far[];

extern int far _Cdecl gothic_font_far[];


文章标题:界面函数c语言,c语言的界面
链接地址:http://pwwzsj.com/article/hdhsej.html