漢字圖形視窗設計函式方法
主要包括視窗生成與管理函式,如視窗生成,視窗開啟,視窗關閉,視窗刪除等。
1.視窗結構定義方法
typedef struct gwin {
int x0,y0,x1.y1; /*視窗位置及大小*/
int Border; /*視窗邊框型別*/
int Wcolor; /*視窗背景顏色*/
char Wstate; /*視窗狀態標誌*/
char far *Buffer; /*指向視窗緩衝區指標*/
}GWIN;
在GWIN中,Border為視窗的邊框屬性,可以根據不同要求設計出多種邊框型別業,以美化視窗介面。
2.視窗子函式
視窗生成子函式:Gwin * GwinCreate(x0,y0,x1,y1,border,colo
r)
int x0,y0,x1,y1; /*視窗位置及大小*/
BorderMode border; /*視窗邊框型別*/
int color; /*視窗背景顏色*/
視窗顯示子函式:GwinDisplay(GWIN *w)
w為用GwinCreate生成的視窗指標,即此函式畫出視窗。
視窗開啟子函式:GwinOpen(GWIN * w)
此函式呼叫GwinDisplay來顯示視窗,並存儲螢幕。
視窗關閉子函式:GwinClose(GWIN * w)
此函式關閉已開啟的視窗,恢復螢幕,但此視窗資料還儲存,可再次開啟。
視窗刪除子函式:GwinKill(GWIN * w)此視窗徹底清除視窗,不可重新開啟。
3.部分程式
下面給出實現上述功能的C語言程式
/*Windows Create*/
#include
#include
#include
#include
#include
#include
#define CR 0x0d
#define Esc 0x1b
#define Left 0x4b
#define Right 0x4d
#define Up 0x4d
#define Down 0x50
#define OPEN 1 /*視窗為開啟狀態*/
#define CLOSE 0 /*視窗為關閉狀態*/
#define MOUSE 0 /*是否有滑鼠移動*/
/*定義視窗邊框型別*/
typedef enum {
NoBorder,/*普通視窗,系統預設值*/
TBorder,/*視窗有凸邊框型別*/
WBorder,/*視窗有凹邊框型別*/
TWBorder,/*視窗有凸凹邊框型別*/
WTBorder,/*視窗有凹凸邊框型別*/
CBorder,/*視窗有漢字邊框型別*/
... /*其它視窗型別*/
}BorderMode;
GWIN * GwinCreate(x0,y0,x1,y1,border,color)
int x0,y0,x1,y1;
BorderMode border;
int color;
{
GWIN *w;
w=malloc(sizeof(GWIN));
w->x0=x0;
w->y0=y0;
w->x1=x1;
w->y1=y1;
if(border==NoBorder)w->Border=NoBorder;<BR
【漢字圖形視窗設計函式方法】相關文章: