調(diào)用color函數(shù)法
成都創(chuàng)新互聯(lián)IDC提供業(yè)務(wù):內(nèi)江機(jī)房主機(jī)托管,成都服務(wù)器租用,內(nèi)江機(jī)房主機(jī)托管,重慶服務(wù)器租用等四川省內(nèi)主機(jī)托管與主機(jī)租用業(yè)務(wù);數(shù)據(jù)中心含:雙線機(jī)房,BGP機(jī)房,電信機(jī)房,移動(dòng)機(jī)房,聯(lián)通機(jī)房。
加入#include?頭文件,沒有此頭文件則無法調(diào)用本文使用的函數(shù)。
在你所需要改變窗口顏色的位置調(diào)用函數(shù)?system("color?xx")?xx分別指的是背景顏色和文字(前景)顏色。x為一位16進(jìn)制數(shù),即1-f都可以使用??梢噪S意組合。
1-f分別代表的顏色如下:0?=?黑色?8?=?灰色?1?=?藍(lán)色?9?=?淡藍(lán)色?2?=?綠色?A?=?淡綠色?3?=?湖藍(lán)色?B?=?淡淺綠色?4?=?紅色?C?=?淡紅色?5?=?紫色?D?=?淡紫色?6?=?黃色?E?=?淡黃色?7?=?白色?F?=?亮白色
//定義設(shè)置顏色的函數(shù)
//第一個(gè)參數(shù)是字體顏色,第二個(gè)參數(shù)是背景顏色
void
setColor(unsigned
short
ForeColor=7,unsigned
short
BackGroundColor=0)//默認(rèn)設(shè)為字體白色,背景黑色
{
HANDLE
handle=GetStdHandle(STD_OUTPUT_HANDLE);//獲取當(dāng)前窗口句柄
SetConsoleTextAttribute(handle,ForeColor+BackGroundColor*0x10);//設(shè)置顏色
}
對(duì)應(yīng)的顏色碼表:
1.
=
黑色
8
=
灰色
1
=
藍(lán)色
9
=
淡藍(lán)色
2
=
綠色
10
=
淡綠色
3
=
淺綠色
11
=
淡淺綠色
4
=
紅色
12
=
淡紅色
5
=
紫色
13
=
淡紫色
6
=
黃色
14
=
淡黃色
7
=
白色
15
=
亮白色
1、在主界面的菜單欄找到工具菜單(tool),打開tools。
2、在tools菜單當(dāng)中,選擇options,打開,
3、下面就是設(shè)置字體和字號(hào)了。點(diǎn)擊向右的箭頭,找到font。
4、打開font,根據(jù)自己的愛好選擇合適自己的字體。
5、先選擇字體,再選擇字號(hào),
6、點(diǎn)擊確定之后,看到命令窗口的字體變大了,
7、加入#include stdlib.h頭文件,沒有此頭文件則無法調(diào)用本文使用的函數(shù)。
8、在所需要改變窗口顏色的位置調(diào)用函數(shù) system("color xx") xx分別指的是背景顏色和文字(前景)顏色。x為一位16進(jìn)制數(shù),即1-f都可以使用??梢噪S意組合。
9、1-f分別代表的顏色如下:
0 = 黑色??????8 = 灰色???1 = 藍(lán)色??????9 = 淡藍(lán)色???2 = 綠色??????A = 淡綠色???3 = 湖藍(lán)色????B = 淡淺綠色???4 = 紅色??????C = 淡紅色???5 = 紫色??????D = 淡紫色???6 = 黃色??????E = 淡黃色???7 = 白色??????F = 亮白色
10、將背景設(shè)為白色,文字設(shè)為紅色后的結(jié)果就是這樣了。
第一步、進(jìn)入到vs界面,在上方工具欄中選擇箭頭所指的工具選項(xiàng),如下圖所示。
第二步、選擇箭頭所指的選項(xiàng),點(diǎn)擊進(jìn)入選項(xiàng)窗口,如下圖所示。
第三步、點(diǎn)擊箭頭所指的環(huán)境選項(xiàng),進(jìn)入到環(huán)境設(shè)置,如下圖所示。
第四步、在下拉列表中選擇箭頭所指的字體和顏色,進(jìn)行相關(guān)設(shè)置,如下圖所示。
第五步、在這里可以對(duì)各種顯示項(xiàng)的格式進(jìn)行相關(guān)的設(shè)置,包括大小,字體,像前景,項(xiàng)背景等,可以進(jìn)行自己喜歡的設(shè)置,如下圖所示。
if(c=='-')
{
if(strcmp(str2,"")==0) /*如果str2為空,說明是負(fù)號(hào),而不是減號(hào)*/
flag=-1; /*設(shè)置負(fù)數(shù)標(biāo)志*/
else
{
num1=atof(str2); /*將第二個(gè)操作數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)*/
strcpy(str2,""); /*將str2清空*/
act=2; /*做計(jì)算減法標(biāo)志值*/
setfillstyle(SOLID_FILL,color+3);
bar(2*width+width/2,height/2,15*width/2,3*height/2); /*畫矩形*/
outtextxy(5*width,height,"0."); /*顯示字符串*/
}
}
if(c=='*')
{
num1=atof(str2); /*將第二個(gè)操作數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)*/
strcpy(str2,""); /*將str2清空*/
act=3; /*做計(jì)算乘法標(biāo)志值*/
setfillstyle(SOLID_FILL,color+3); bar(2*width+width/2,height/2,15*width/2,3*height/2);
outtextxy(5*width,height,"0."); /*顯示字符串*/
}
if(c=='/')
{
num1=atof(str2); /*將第二個(gè)操作數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)*/
strcpy(str2,""); /*將str2清空*/
act=4; /*做計(jì)算除法標(biāo)志值*/
setfillstyle(SOLID_FILL,color+3);
bar(2*width+width/2,height/2,15*width/2,3*height/2);
outtextxy(5*width,height,"0."); /*顯示字符串*/
}
if(c=='^')
{
num1=atof(str2); /*將第二個(gè)操作數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)*/
strcpy(str2,""); /*將str2清空*/
act=5; /*做計(jì)算乘方標(biāo)志值*/
setfillstyle(SOLID_FILL,color+3); /*設(shè)置用淡綠色實(shí)體填充*/
bar(2*width+width/2,height/2,15*width/2,3*height/2); /*畫矩形*/
outtextxy(5*width,height,"0."); /*顯示字符串*/
}
if(c=='%')
{
num1=atof(str2); /*將第二個(gè)操作數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)*/
strcpy(str2,""); /*將str2清空*/
act=6; /*做計(jì)算模運(yùn)算乘方標(biāo)志值*/
setfillstyle(SOLID_FILL,color+3); /*設(shè)置用淡綠色實(shí)體填充*/
bar(2*width+width/2,height/2,15*width/2,3*height/2); /*畫矩形*/
outtextxy(5*width,height,"0."); /*顯示字符串*/
}
if(c=='=')
{
num2=atof(str2); /*將第二個(gè)操作數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)*/
switch(act) /*根據(jù)運(yùn)算符號(hào)計(jì)算*/
{
case 1:result=num1+num2;break; /*做加法*/
case 2:result=num1-num2;break; /*做減法*/
case 3:result=num1*num2;break; /*做乘法*/
case 4:result=num1/num2;break; /*做除法*/
case 5:result=pow(num1,num2);break; /*做x的y次方*/
case 6:result=fmod(num1,num2);break; /*做模運(yùn)算*/
}
setfillstyle(SOLID_FILL,color+3); /*設(shè)置用淡綠色實(shí)體填充*/
bar(2*width+width/2,height/2,15*width/2,3*height/2); /*覆蓋結(jié)果區(qū)*/
sprintf(temp,"%f",result); /*將結(jié)果保存到temp中*/
outtextxy(5*width,height,temp); /*顯示結(jié)果*/
}
if(c=='c')
{
num1=0; /*將兩個(gè)操作數(shù)復(fù)位0,符號(hào)標(biāo)志為1*/
num2=0;
flag=1;
strcpy(str2,""); /*將str2清空*/
setfillstyle(SOLID_FILL,color+3); /*設(shè)置用淡綠色實(shí)體填充*/
bar(2*width+width/2,height/2,15*width/2,3*height/2); /*覆蓋結(jié)果區(qū)*/
outtextxy(5*width,height,"0."); /*顯示字符串*/
}
if(c=='Q')exit(0); /*如果選擇了q回車,結(jié)束計(jì)算程序*/
}
putimage(x,y,rar,XOR_PUT); /*在退出之前消去光標(biāo)箭頭*/
return; /*返回*/
}
/*窗口函數(shù)*/
void mwindow( char *header )
{
int height;
cleardevice(); /* 清除圖形屏幕 */
setcolor( MaxColors - 1 ); /* 設(shè)置當(dāng)前顏色為白色*/
setviewport( 20, 20, MaxX/2, MaxY/2, 1 ); /* 設(shè)置視口大小 */
height = textheight( "H" ); /* 讀取基本文本大小 */
settextstyle( DEFAULT_FONT, HORIZ_DIR, 1 );/*設(shè)置文本樣式*/
settextjustify( CENTER_TEXT, TOP_TEXT );/*設(shè)置字符排列方式*/
outtextxy( MaxX/4, 2, header ); /*輸出標(biāo)題*/
setviewport( 20,20+height+4, MaxX/2+4, MaxY/2+20, 1 ); /*設(shè)置視口大小*/
drawboder(); /*畫邊框*/
}
void drawboder(void) /*畫邊框*/
{
struct viewporttype vp; /*定義視口類型變量*/
setcolor( MaxColors - 1 ); /*設(shè)置當(dāng)前顏色為白色 */
setlinestyle( SOLID_LINE, 0, NORM_WIDTH );/*設(shè)置畫線方式*/
getviewsettings( vp );/*將當(dāng)前視口信息裝入vp所指的結(jié)構(gòu)中*/
rectangle( 0, 0, vp.right-vp.left, vp.bottom-vp.top ); /*畫矩形邊框*/
}
/*設(shè)計(jì)鼠標(biāo)圖形函數(shù)*/
int arrow()
{
int size;
int raw[]={4,4,4,8,6,8,14,16,16,16,8,6,8,4,4,4}; /*定義多邊形坐標(biāo)*/
setfillstyle(SOLID_FILL,2); /*設(shè)置填充模式*/
fillpoly(8,raw); /*畫出一光標(biāo)箭頭*/
size=imagesize(4,4,16,16); /*測試圖象大小*/
rar=malloc(size); /*分配內(nèi)存區(qū)域*/
getimage(4,4,16,16,rar); /*存放光標(biāo)箭頭圖象*/
putimage(4,4,rar,XOR_PUT); /*消去光標(biāo)箭頭圖象*/
return 0;
}
/*按鍵函數(shù)*/
int specialkey(void)
{
int key;
while(bioskey(1)==0); /*等待鍵盤輸入*/
key=bioskey(0); /*鍵盤輸入*/
key=key0xff? key0xff:key8; /*只取特殊鍵的掃描值,其余為0*/
return(key); /*返回鍵值*/
}