[Lazarus] Popup window

zeljko zeljko at holobit.net
Tue Dec 18 07:46:50 CET 2012


On Monday 17 of December 2012 17:24:04 Krzysztof wrote:
> What I found that Banshee using GTK: VolumeButton which inherit from
> ScaleButton. ScaleButton has getpopup (GTKWidget type). So maybe it is
> using gtk window with GTK_WINDOW_POPUP type. I'm not familiar with C
> language and low level GTK, but documentation says:
> 
> "GtkWidget*  gtk_window_new (GtkWindowType type);
> 
> Creates a new GtkWindow, which is a toplevel window that can contain other
> widgets. Nearly always, the type of the window should be
> GTK_WINDOW_TOPLEVEL. If you're implementing something like a popup menu
> from scratch (which is a bad idea, just use GtkMenu), you might use
> GTK_WINDOW_POPUP. GTK_WINDOW_POPUP is not for dialogs, though in some other
> toolkits dialogs are called "popups". In GTK+, GTK_WINDOW_POPUP means a
> pop-up menu or pop-up tooltip. On X11, popup windows are not controlled by
> the window manager.
> 
> If you simply want an undecorated window (no window borders), use
> gtk_window_set_decorated(), don't use GTK_WINDOW_POPUP."
> 
> Anyway, TPopupWindow could be interesting feature, like in my case for
> volume button, but also for custom popup menus, tips etc. Especially when
> similar option exists for QT and windows widgetsets

TPopupWindow could be simple TWSHintWindow based form , or TCustomForm with 
BorderStyle = bsNone. In that case it won't take keyboard focus, but can 
process mouse events.

zeljko





More information about the Lazarus mailing list