[Mono-list] GTK# Stock Icon
Milen Dzhumerov
gamehack@1nsp1r3d.co.uk
Tue, 26 Apr 2005 22:14:24 +0100
Ben Motmans wrote:
>On 4/22/05, Milen Dzhumerov <gamehack@1nsp1r3d.co.uk> wrote:
>
>
>>Hi all,
>>
>>I've been reading Mono: A Developer's Notebook and I couldn't find a way
>>of creating an icon with a stock image. I looked at
>>www.go-mono.com/docs/ for Icon related classes but couldn't figure out
>>how to do it. My other question is, is it possible to show a menu if the
>>user clicked on the icon?
>>
>>Regards,
>>gamehack
>>
>>
>
>You don't need to use the Icon class, but the Image class
>Image img = new Image("gtk-save", IconSize.Menu);
>
>It is also possible to show a menu if a user clicks on the image, but
>you need to add the Image to an EventBox, since an Image cannot fire
>events
>
>EventBox eb = new EventBox();
>EventBox.Add(new Image("gtk-save", IconSize.Menu);
>EventBox.ButtonPressEvent += new ButtonPressEventHandler (OnImageClick);
>
>private void OnImageClick (object o, ButtonPressEventArgs args)
>{
> if (args.Event.Button == 3) { //right click
> Menu popupMenu = new Menu();
> MenuItem menuPopup1 = new MenuItem ("Popup item 1");
> popupMenu.Add (menuPopup1);
> popupMenu.Popup (null, null, null, IntPtr.Zero,
>args.Event.Button, args.Event.Time);
>
> popupMenu.ShowAll ();
> }
>}
>
>But are you sure you really want a stock image with a menu popping up
>if the user clicks the image? there are nice ways of doing someting
>similar, like a Toolbar with a Gtk.MenuToolButton (some sort of combo
>box) or ...
>
>-- Ben
>_______________________________________________
>Mono-list maillist - Mono-list@lists.ximian.com
>http://lists.ximian.com/mailman/listinfo/mono-list
>
>
>
>
>
Well,
I want to use this for a tray icon. Here's the sample code -
http://www.1nsp1r3d.co.uk/tmp/mono/TrayIcon.cs. I want to replace this line:
icon.Add (new Label ("Testing"));
with your code, but I'm not sure whether it will work out. And as a side
not, I couldn't find the method documented anywhere.
Regards,
gamehack