C语言-->为你的窗体改变字体颜色 | 一种动画效果 | 增加bgm

C语言-->为你的窗体改变字体颜色 | 一种动画效果 | 增加bgm

本篇博客下代码均在code blocks完成。

一、改变窗体背景和字体颜色

每次运行代码看到黑漆漆的窗体是不是感觉有点单调?其实窗体的背景和字体都是可修改的。

窗体默认背景色及字体色设置system("color XX");

  • 在这里我们把窗体默认的黑底白字修改成了白底黑字,用的就是这行简单的代码system("color F0");,其中F表示背景色为黑色,0表示字体色为白色。
  • 除了F0我们还可以搭配更多种设置:
    0=黑色                  
  1=蓝色              
  2=绿色                   
  3=湖蓝色                  
  4=红色              
  5=紫色            
  6=黄色              
  7=白色
  8=灰色
  9=淡蓝色
  A=淡绿色
  B=淡浅绿色
  C=淡红色
  D=淡紫色
  E=淡黄色
  F=亮白色

改变输出或者输入字体和背景的颜色

  • 调用SetConsoleTextAttribute函数实现
  • 此设置维持到下一次改变或者程序结束
  • 格式范例:(黑底白字)SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |   FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
    • 这里逗号前部分是固定的语法,之后是对背景、前景颜色的设置。
    • 可以设为FOREGROUND_红/绿/蓝或者BACKGROUND_红/绿/蓝,还可以设置增强效果FOREGROUND_INTENSITYBACKGROUND_INTENSITY
    • 逗号后半部分内容均用|符号隔开
    • 更多颜色搭配参考控制台输出字体颜色
  • 示例代码
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
void main()
{
	system("mode con:cols=100 lines=20000");
	system("color F9");
	printf("hello!!\n");
	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_INTENSITY);
	printf("12");
	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE | FOREGROUND_BLUE | BACKGROUND_INTENSITY |FOREGROUND_INTENSITY);
	printf("345");
	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE | BACKGROUND_INTENSITY);
	printf("54321");
    printf("\n");
}
  • 效果如下

二、制作一种动画效果

  • 效果:字逐个打出的动画
#include "stdio.h"
#include <windows.h>
#include <stdlib.h> 
void main() 
{ 
 int i;
 char s[80]="我是一串会跳出的字符串!"; 
 for(i=0;i<80&&s[i]!='\0';)
 {
  if(s[i]<0)
  {
   printf("%c%c",s[i],s[i+1]); //汉字
   i=i+2;
  }
  else
  {
   printf("%c",s[i]); //普通字符
   i=i+1;
  }
  Sleep(500);
 }
 printf("\n");
 system("pause");
}
  • 代码中一个汉字占两个字符,所以我们需要巧妙地将他识别并输出

三、增加bgm

  • 首先要保证你打开的代码是一个完整的工程,不会的同学开.cbp文件就对了。
  • 写一个最简单的代码
#include<stdio.h>
#include<stdlib.h>
#include <windows.h>
#include <mmsystem.h>//导入声音头文件
#pragma comment(lib,"winmm.lib")//导入声音头文件库

int main()
{
    mciSendString("open 1.mp3",NULL,0,NULL);//.MP3文件要放在和代码的同一路径下
    mciSendString("play 1.mp3",NULL,0,NULL);
    while(1);
    return(0);
}

接下来我们还需要在code blocks里加入winmm.lib库文件

  • 选中project-->build options

  • 点击Linker settings,在Link libraries处点击add,输入vinmm点击确定即可。

  • 运行程序,就可以听到好听的bgm啦~

参考文献

posted @ 2019-06-20 11:07  icream  阅读(961)  评论(2编辑  收藏  举报