我们专注攀枝花网站设计 攀枝花网站制作 攀枝花网站建设
成都网站建设公司服务热线:400-028-6601

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

c语言窗口设计函数 c语言窗口程序教程

怎么用C语言编写一个windows窗口?

调用window库窗口函数即可创建windows窗口。

十载的平山网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整平山建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“平山网站设计”,“平山网站推广”以来,每个客户项目都认真落实执行。

必须使用windows的编译器,如VC,MS等等。

RegisterClassEx函数:

该函数注册在随后调用CreateWindow函数和CreateWindowEx函数中使用的窗口类。 RegisterClass函数己经由函数RegisterClassEx函数来代替,但是,如果不需要设置类的小目标则仍然可以使用RegisterClass函数。

CreateWindowEx函数:

该函数创建一个具有扩展风格的层叠式窗口、弹出式窗口或子窗口,其他与CreateWindow函数相同。关于创建窗口和其他参数的内容,请参看CreateWindow。具体仍可见微软的msdn。

消息处理函数WindowProc:

该函数是一个应用程序定义的函数。它处理发送给窗口的消息。WINDPROC类型定义了一个指向该回调函数的指针。WindowProc是用于应用程序定义函数的占位符。

函数原型:

LRESULT CALLBACK WindowProc (HWND hwnd,

UINT uMsg,

WPARAM wParam,

LPARAM lParam);

参数:

hwnd:指向窗口的句柄。

uMsg:指定消息类型。

wParam:指定其余的、消息特定的信息。该参数的内容与UMsg参数值有关。

IParam:指定其余的、消息特定的信息。该参数的内容与uMsg参数值有关。

返回值:返回值就是消息处理结果,它与发送的消息有关。

一个简单的Window的代码如下:

#include Windows.h

#include tchar.h

LRESULT WINAPI WinProc(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam);

int WinMain( 

__in HINSTANCE hInstance, 

__in_opt HINSTANCE hPrevInstance, 

__in LPSTR lpCmdLine, 

__in int nShowCmd 

)

{

TCHAR *szName = _T("myWindow");

WNDCLASSEX wc = {0};

HWND hWnd     = NULL;

MSG Msg       = {0};

wc.cbClsExtra    = 0;

wc.cbWndExtra    = 0;

wc.cbSize        = sizeof(WNDCLASSEX);

wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);//通过函数来设置一个白色的背景,这里大家设置为NULL看看,会很有趣的

wc.hCursor       = NULL;//不设置

wc.hIcon         = NULL;//不设置

wc.hIconSm       = NULL;//不设置

wc.hInstance     = hInstance;//当前程序的句柄,hInstance是有系统给传递的

wc.lpfnWndProc   = WinProc;//窗口处理过程的回调函数。

wc.lpszClassName = szName;//窗口类的名字。

wc.lpszMenuName  = NULL; 

wc.style         = CS_HREDRAW | CS_VREDRAW; 

RegisterClassEx(wc);//在系统中注册

hWnd = CreateWindowEx(WS_EX_CLIENTEDGE,szName,_T("我的窗口我喜欢"),WS_OVERLAPPEDWINDOW,

200,100,600,400,NULL,NULL,hInstance,NULL);//创建窗口,窗口标题为"我的窗口我喜欢"

if(hWnd == NULL)

{

MessageBox(NULL,_T("There's an Error"),_T("Error Title"),MB_ICONEXCLAMATION|MB_OK);

return 0;

}

ShowWindow(hWnd,nShowCmd);//显示窗口

UpdateWindow(hWnd);

//下面是对消息的循环处理,大家先不必管这些,下节课我会细说的

while(GetMessage(Msg,NULL,0,0))

{

TranslateMessage(Msg);//翻译消息

DispatchMessage(Msg);//分派消息

}

return Msg.message;

}

//消息处理函数

LRESULT WINAPI WinProc(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam)

{

switch(Msg)//处理消息过程

{

case WM_DESTROY://响应鼠标单击关闭按钮事件

PostQuitMessage(0);//退出消息队列

return 0;//退出函数

}

return DefWindowProc(hWnd,Msg,wParam,lParam);

}

在用VS2010软件,C语言编写课程设计,电梯。做界面交互,屏幕处理函数 读入文字数字之类的函数应该用什么

有很多种办法啊

mfc 微软类库

第三方的 gui 开发库

比如 gtk、qt

VS2010 的话用 C# 开发基于 winform 的程序

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://mswzjz.cn/article/dojhggp.html

其他资讯