- 相關(guān)推薦
漢字圖形窗口界面設(shè)計方法及函數(shù)編程技巧
摘要 該文討論了漢字圖形窗口界面設(shè)計的一般方法,給出了窗口生成,窗口管理,菜單生成與管理,鼠標(biāo)與鍵盤管理等實現(xiàn)的子函數(shù),并給出了部分C語言源程序。這些函數(shù)的組合可以設(shè)計出豐富的漢字圖形窗口界面。
一、圖形窗口設(shè)計函數(shù)
主要包括窗口生成與管理函數(shù),如窗口生成,窗口打開,窗口關(guān)閉,窗口刪除等。
1.窗口結(jié)構(gòu)定義方法
typedef struct gwin {
int x0,y0,x1.y1; /*窗口位置及大小*/
int Border; /*窗口邊框類型*/
int Wcolor; /*窗口背景顏色*/
char Wstate; /*窗口狀態(tài)標(biāo)志*/
char far *Buffer; /*指向窗口緩沖區(qū)指針*/
}GWIN;
在GWIN中,Border為窗口的邊框?qū)傩?可以根據(jù)不同要求設(shè)計出多種邊框類型業(yè),以美化窗口界面。
2.窗口子函數(shù)
窗口生成子函數(shù):Gwin * GwinCreate(x0,y0,x1,y1,border,colo
r)
int x0,y0,x1,y1; /*窗口位置及大小*/
BorderMode border; /*窗口邊框類型*/
int color; /*窗口背景顏色*/
窗口顯示子函數(shù):GwinDisplay(GWIN *w)
w為用GwinCreate生成的窗口指針,即此函數(shù)畫出窗口。
窗口打開子函數(shù):GwinOpen(GWIN * w)
此函數(shù)調(diào)用GwinDisplay來顯示窗口,并存儲屏幕。
窗口關(guān)閉子函數(shù):GwinClose(GWIN * w)
此函數(shù)關(guān)閉已打開的窗口,恢復(fù)屏幕,但此窗口數(shù)據(jù)還保存,可再次打開。
窗口刪除子函數(shù):GwinKill(GWIN * w)此窗口徹底清除窗口,不可重新打開。
3.部分程序
下面給出實現(xiàn)上述功能的C語言程序
/*Windows Create*/
#include <stdio.h>
#include <dos.h>
#include <stdilb.h>
#include <string.h>
#include <conio.h>
#include <graph.h>
#define CR 0x0d
#define Esc 0x1b
#define Left 0x4b
#define Right 0x4d
#define Up 0x4d
#define Down 0x50
#define OPEN 1 /*窗口為打開狀態(tài)*/
#define CLOSE 0 /*窗口為關(guān)閉狀態(tài)*/
#define MOUSE 0 /*是否有鼠標(biāo)移動*/
/*定義窗口邊框類型*/
typedef enum {
NoBorder,/*普通窗口,系統(tǒng)默認(rèn)值*/
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;
[1] [2] [3] [4]
【漢字圖形窗口界面設(shè)計方法及函數(shù)編程技巧】相關(guān)文章:
無紙化考試系統(tǒng)開發(fā)中的編程方法和技巧04-27
周期函數(shù)的判定方法04-30
利用反比例函數(shù)求圖形的面積04-27
中考數(shù)學(xué):二次函數(shù)與圖形變換04-30
中考數(shù)學(xué):二次函數(shù)與圖形變換04-30
洗車的方法技巧01-01
復(fù)習(xí)的方法與技巧04-30
數(shù)控編程課程項目教學(xué)方法的探索04-28
一種新的填充函數(shù)方法04-28
筆試的技巧和方法10-31