如何更改背景颜色
how to change background color
我想在按下RIGHT_BUTTON后更改窗口的背景色但它不起作用。
#include <glut.h>
#define RED 1
#define GREEN 2
#define BLUE 3
#define WHITE 4
#define BLACK 5
double re=0.0,ge=0.0,bl=0.0,al=0.0;
double anglex=0.0,angley=0.0;
double r=0.0,g=0.0,b=0.0;
void mydisplay(void)
{ glClear(GL_COLOR_BUFFER_BIT);
glColor3f(r,g,b);
glutSolidTeapot(400);
glEnd();
glFlush();}
void Objectcolor (int k) {
r=0.0,g=0.0,b=0.0;
switch (k){
case 1: {r= 1.0;
glutPostRedisplay();
break;}
case 2: {g= 1.0;
glutPostRedisplay();break;}
case 3 :{b= 1.0;
glutPostRedisplay();break;}
case 4 : {r=1.0,g= 1.0,b=1.0;
glutPostRedisplay();break;
}case 5: {r=0.0,g= 0.0,b=0.0;
glutPostRedisplay();break;}}}
void asd()
{int q =glutCreateMenu(Objectcolor);
glutAddMenuEntry("Red",RED);
glutAddMenuEntry("Green",GREEN);
glutAddMenuEntry("Blue",BLUE);
glutAddMenuEntry("white",WHITE);
glutAddMenuEntry("black",BLACK);
}
void Backgroundcolor(int k) {
switch (k){
case 1: {re= 1.0;
glutPostRedisplay(); break;}
case 2:{ge= 1.0;
glutPostRedisplay(); break;}
case 3: {bl= 1.0;
glutPostRedisplay(); break;}
case 4: {re=1.0,ge= 1.0,bl=1.0,al=0.0;
glutPostRedisplay(); break;}
case 5: {re=0.0,bl= 0.0,ge=0.0,al=0.0;
glutPostRedisplay(); break;}}}
void back()
{int s =glutCreateMenu(Backgroundcolor);
glutAddMenuEntry("Red",1);
glutAddMenuEntry("Green",2);
glutAddMenuEntry("Blue",3);
glutAddMenuEntry("white",4);
glutAddMenuEntry("black",5);
glutAttachMenu(GLUT_RIGHT_BUTTON);}
void main (int argc,char ** argv)
{
glutInit(& argc , argv);
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
glutInitWindowSize(800,640);
glutCreateWindow("MY FIRST PROG");
glutDisplayFunc(mydisplay);
glClearColor(re,ge,bl,al);
glPointSize(4.0);
glOrtho(-800.0,800.0,-640.0,640.0,-1000.0,1000.0);
back();
glutMainLoop();}
使用glClearColor
设置背景颜色。在您的代码中,您只在main()
中设置了一次,但在其他任何地方都不会更改,因此它永远不会更改。当您想要更改glClearColor
时,需要调用它。
相关文章:
- 在特定时间内更改 QLabel 的背景颜色
- 更改包含 QButton 的 Qlayout 的背景颜色
- 如何为使用创建窗口创建的窗口创建自定义背景颜色
- 我正在尝试更改背景的颜色,但它不起作用
- MFC 更改 CListCtrl 背景颜色
- 如何仅设置 QTabWidget 背景颜色样式表
- 为什么不能使用 setData() 在 QTreeView 中设置单元格的背景颜色?
- 在另一个小部件中更改QWidget的背景颜色
- 同一图像中的反转文本和背景颜色
- 使用winapi使用按钮更改窗口的背景颜色
- 当在QTableView上丢失焦点时,失去背景颜色
- 当鼠标越过按钮时,我可以更改按钮背景颜色吗?
- 在加载页面时,如何为iwebbrowser2设置背景颜色
- 更改子分类Cstatic控制的背景颜色
- 使用 DirectX 11 插值背景颜色?
- 如何将控制台输出的文本颜色更改为红色,但如果从Powershell或CMD运行,背景将保持相同的颜色
- 10'000 行后控制台中的 C++ 背景颜色错误
- 如何设置按钮的背景颜色,包括复选框按钮
- 更改控制台应用的背景颜色C++
- 方法,允许我更改QwtPlot颜色背景