【发布时间】:2014-03-26 06:06:50
【问题描述】:
我正在为我的菜单编写一个 GUI。问题是,当我访问 drawtext 函数时,当我使用
访问函数时,仅显示 sub_menu char 数组的第一个元素 drawText(38,195,*a->sub_Menu[1],0);
drawText(38,240, a->sub_Menu[2],0);
drawText(38,285, a->sub_Menu[3],0);
drawText(38,330, a->sub_Menu[4],0);
其余的框显示为空白。 当我尝试使用
访问drawtext函数时 drawText(38,195,*a->sub_Menu[1],0);
drawText(38,240,*a->sub_Menu[2],0);
drawText(38,285,*a->sub_Menu[3],0);
drawText(38,330,*a->sub_Menu[4],0);
程序编译并运行,但只要我单击菜单的设置按钮,程序就会崩溃,说 myprogram.exe 已停止工作。 我不知道问题是什么,因为我是编码新手。
typedef struct {
short startXPos;
short startYPos;
short height;
short width;
unsigned int c;
char *sub_Menu[5][18];
} menu, *ptr_Menu;
ptr_Menu a;
char sub_Menu1[5][18] = {"Big Font", "5 channel", "7 channel", "12 channel", "Alarm"};
menu touch_menu[10] = {30, 365, 45, 100, 5, &sub_Menu1};
void drawMenu(short b)
{
int k = 0;
if (b == 0) {
a = &touch_menu[0];
for (k=0; k<a->c; k++) {
setColor(GREY);
drawRectangle(a->startXPos, a->startYPos - (k+1)*a->height,a->width,a->height);
}
setColor(CYAN);
drawText(38,150,*a->sub_Menu[0],0);
drawText(38,195,*a->sub_Menu[1],0);
drawText(38,240,*a->sub_Menu[2],0);
drawText(38,285,*a->sub_Menu[3],0);
drawText(38,330,*a->sub_Menu[4],0);
}
}
【问题讨论】:
-
请使用标题作为简短描述。你的问题除了你的代码之外什么都没有。添加一个文本你想做什么,你尝试了什么以及你得到了什么编译器错误或不当行为。不欢迎任何“请帮助我”。
-
@atul329,你欠我一杯啤酒,让我能读懂缩进。 :-)