Может ли GtkMenuItem иметь цветную метку - PullRequest
0 голосов
/ 16 июля 2009

Так что я в основном делаю следующее, и я хочу, чтобы SomeText имел красный цвет переднего плана. Как этого добиться:

GtkWidget *menu_item =gtk_menu_item_new_with_labelex("SomeText");

Я использую GDK 2.0

Спасибо

1 Ответ

0 голосов
/ 17 июля 2009

Помните, что GtkMenuItem - это GtkBin, который содержит GtkAccelLabel. Так что все, что вам нужно сделать, это вставить пользовательский GtkAccelLabel в GtkBin и заставить свой ярлык контролировать GtkMenuItem для клавиш ускорения.

Итак:

GtkWidget *menu_item, *accel_label;

accel_label = gtk_accel_label_new ("");
gtk_label_set_markup(GTK_LABEL (accel_label), "<span color=\"red\">This text will be RED!</span>");
menu_item = gtk_menu_item_new();
gtk_container_add(GTK_CONTAINER (menu_item), accel_label);
gtk_accel_label_set_accel_widget(GTK_ACCEL_LABEL(accel_label), menu_item);
gtk_widget_show(accel_label);
gtk_widget_show(menu_item);
...