Есть ли пример, как поймать событие, когда я нажимаю значок на панели задач правой кнопкой мыши? - PullRequest
0 голосов
/ 03 мая 2010
#include <gtk/gtk.h> 

int main( int argc, char *argv[]) 
{ 
  GtkWidget *window; 

  gtk_init(&argc, &argv); 

  window = gtk_window_new(GTK_WINDOW_TOPLEVEL); 
  gtk_widget_show(window); 

  gtk_main(); 

  return 0; 
} 

Выше может появиться окно и соответствующий значок на панели задач.

Я много гуглил, но не могу найти ни одной статьи, которая решает эту проблему.

Так что любая информация очень ценится!

1 Ответ

0 голосов
/ 03 мая 2010

Я не думаю, что для этого есть что-то встроенное в GTK. Меню, которое появляется при щелчке правой кнопкой мыши на кнопке панели задач (по крайней мере, в Windows <= Vista), называется системным меню. Это то же самое меню, которое вы получаете, когда нажимаете на значок окна (в левой части заголовка). </p>

Вы можете использовать функцию GetSystemMenu , чтобы получить указатель на нее и добавлять элементы по своему усмотрению. Как я уже сказал, это довольно специфично для платформы, поэтому я сомневаюсь, что у GTK есть обертка для него (но, может быть, так и есть?)

Я также должен отметить, что в Windows 7 все это было заменено, и панель задач работает совсем по-другому. Вот хороший обзор изменений , и вот более конкретная информация о "списках переходов" (именно это заменяет контекстное меню)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...