中文国产日韩欧美视频,午夜精品999,色综合天天综合网国产成人网,色综合视频一区二区观看,国产高清在线精品,伊人色播,色综合久久天天综合观看

漢字圖形窗口界面設(shè)計(jì)方法及函數(shù)編程技巧

時(shí)間:2023-05-01 08:07:36 計(jì)算機(jī)論文 我要投稿
  • 相關(guān)推薦

漢字圖形窗口界面設(shè)計(jì)方法及函數(shù)編程技巧

摘要 該文討論了漢字圖形窗口界面設(shè)計(jì)的一般方法,給出了窗口生成,窗口管理,菜單生成與管理,鼠標(biāo)與鍵盤(pán)管理等實(shí)現(xiàn)的子函數(shù),并給出了部分C語(yǔ)言源程序。這些函數(shù)的組合可以設(shè)計(jì)出豐富的漢字圖形窗口界面。

一、圖形窗口設(shè)計(jì)函數(shù)

主要包括窗口生成與管理函數(shù),如窗口生成,窗口打開(kāi),窗口關(guān)閉,窗口刪除等。

1.窗口結(jié)構(gòu)定義方法

typedef struct gwin {

int x0,y0,x1.y1; /*窗口位置及大小*/

int Border; /*窗口邊框類(lèi)型*/

int Wcolor; /*窗口背景顏色*/

char Wstate; /*窗口狀態(tài)標(biāo)志*/

char far *Buffer; /*指向窗口緩沖區(qū)指針*/

}GWIN;

在GWIN中,Border為窗口的邊框?qū)傩?可以根據(jù)不同要求設(shè)計(jì)出多種邊框類(lèi)型業(yè),以美化窗口界面。

2.窗口子函數(shù)

窗口生成子函數(shù):Gwin * GwinCreate(x0,y0,x1,y1,border,colo

r)

int x0,y0,x1,y1; /*窗口位置及大小*/

BorderMode border; /*窗口邊框類(lèi)型*/

int color; /*窗口背景顏色*/

窗口顯示子函數(shù):GwinDisplay(GWIN *w)

w為用GwinCreate生成的窗口指針,即此函數(shù)畫(huà)出窗口。

窗口打開(kāi)子函數(shù):GwinOpen(GWIN * w)

此函數(shù)調(diào)用GwinDisplay來(lái)顯示窗口,并存儲(chǔ)屏幕。

窗口關(guān)閉子函數(shù):GwinClose(GWIN * w)

此函數(shù)關(guān)閉已打開(kāi)的窗口,恢復(fù)屏幕,但此窗口數(shù)據(jù)還保存,可再次打開(kāi)。

窗口刪除子函數(shù):GwinKill(GWIN * w)此窗口徹底清除窗口,不可重新打開(kāi)。

3.部分程序

下面給出實(shí)現(xiàn)上述功能的C語(yǔ)言程序

/*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 /*窗口為打開(kāi)狀態(tài)*/

#define CLOSE 0 /*窗口為關(guān)閉狀態(tài)*/

#define MOUSE 0 /*是否有鼠標(biāo)移動(dòng)*/

/*定義窗口邊框類(lèi)型*/

typedef enum {

NoBorder,/*普通窗口,系統(tǒng)默認(rèn)值*/

TBorder,/*窗口有凸邊框類(lèi)型*/

WBorder,/*窗口有凹邊框類(lèi)型*/

TWBorder,/*窗口有凸凹邊框類(lèi)型*/

WTBorder,/*窗口有凹凸邊框類(lèi)型*/

CBorder,/*窗口有漢字邊框類(lèi)型*/

... /*其它窗口類(lèi)型*/

}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è)計(jì)方法及函數(shù)編程技巧】相關(guān)文章:

無(wú)紙化考試系統(tǒng)開(kāi)發(fā)中的編程方法和技巧04-27

周期函數(shù)的判定方法04-30

利用反比例函數(shù)求圖形的面積04-27

中考數(shù)學(xué):二次函數(shù)與圖形變換04-30

中考數(shù)學(xué):二次函數(shù)與圖形變換04-30

洗車(chē)的方法技巧01-01

復(fù)習(xí)的方法與技巧04-30

數(shù)控編程課程項(xiàng)目教學(xué)方法的探索04-28

一種新的填充函數(shù)方法04-28

筆試的技巧和方法10-31