|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: May 2002
Città: Massa Carrara
Messaggi: 589
|
GTK finestre senza bordo
ho cercato, ma mi ritrovo qua....
come si pu' fare a creare finestre senza bordo tramite le gtk? da quello che posso capire questo settaggio non fa parte dei widget gtk ma come per win e' una funzione del windows manager..... non vorrei avere: barra del titolo, toolbox chiudi minimizza ingrandisci, e possibilmente neanche il bordo. stile flat. grazie. Ultima modifica di x110 : 04-09-2003 alle 17:55. |
|
|
|
|
|
#2 | |
|
Bannato
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR Casco: XR1000 Diabolic 3
Messaggi: 27578
|
Re: GTK finestre senza bordo
Quote:
Il resto non puoi farlo perchè fa parte del Window Manager. E poi sarebbe una cosa stupida farlo, completamente inutile. A che pro? |
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: May 2002
Città: Massa Carrara
Messaggi: 589
|
perche' deve essere stupida? a me servirebbe
mi dai qualche info in piu circa le policy? |
|
|
|
|
|
#4 |
|
Bannato
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR Casco: XR1000 Diabolic 3
Messaggi: 27578
|
E' stupida perchè non è standard. Le applicazioni grafiche non devono funzionare così. Hanno i loro standard.
E poi come la chiuderesti l'applicazione senza casella di chiusura sulla title bar?? Ti faccio l'esempio della gtk_window_set_policy(): Codice:
#include <gtk/gtk.h>
/* Dovrebbero autoesplicare i parametri di gtk_window_set_policy() */
#define ALLOW_GROW TRUE
#define NOT_ALLOW_GROW !ALLOW_GROW
#define ALLOW_SHRINK TRUE
#define NOT_ALLOW_SHRINK !ALLOW_SHRINK
#define AUTO_SHRINK TRUE
#define NO_AUTO_SHRINK !AUTO_SHRINK
gint
delete_event_callback(GtkWidget * widget,
gpointer user_data)
{
return FALSE;
}
int
main(int argc, char ** argv)
{
GtkWidget * top_window;
gtk_init(&argc, &argv);
top_window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_default_size(GTK_WINDOW(top_window), 320, 200);
gtk_window_set_policy(GTK_WINDOW(top_window),
NOT_ALLOW_SHRINK,
NOT_ALLOW_GROW,
NO_AUTO_SHRINK);
gtk_signal_connect(GTK_OBJECT(top_window), "delete_event",
GTK_SIGNAL_FUNC(delete_event_callback), NULL);
gtk_signal_connect(GTK_OBJECT(top_window), "destroy",
gtk_main_quit, NULL);
gtk_widget_show(top_window);
gtk_main();
return 0;
}
Ciao. |
|
|
|
|
|
#5 |
|
Member
Iscritto dal: May 2003
Messaggi: 283
|
Non credo sia una cosa stupida anzi molti programmi la usano per fare "Splash screen" o come cavolo si chiamano.
Ciao
__________________
/*** * Nulla è impossibile per chi non deve farlo ***/ |
|
|
|
|
|
#6 | |
|
Bannato
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR Casco: XR1000 Diabolic 3
Messaggi: 27578
|
Quote:
|
|
|
|
|
|
|
#7 |
|
Member
Iscritto dal: May 2003
Messaggi: 283
|
Hmmm, in realtà a me non servono, ho solo cercato di immaginare a cosa potesse servire una cosa del genere
Io tra un mesetto diventerò molto presente da queste parti quando inizierò a fare la tesi
__________________
/*** * Nulla è impossibile per chi non deve farlo ***/ |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: May 2002
Città: Massa Carrara
Messaggi: 589
|
non ho capito bene...
per fare uno splash bisogna usare le GDK? o c'e' una via piu' veloce? comunque uscire dallo standard non e' stupido.... (non mollo). lo standard nei pc e' windows il che vuol dire che siamo tutti stupidi a parte gli scherzi. a me piacerebbe ci fosse questa possibilita' che spesso usavo in vb. anche semplicemente per dare uno stile diverso dagli altri programmi che pur che siano fatti bene, a me non piacciono e voglio crearmi un mio stile. per esempio xmm ha un suo stile che non e' quello standard e non usa lo stile del coontesto e del wm. comunque sia... grazie per la policy. mi toglie solo il pulsante di ingrandimento e non quello di minimizzazione e chiusura. per quello di chiusura non c'e' problema ma mi sebra mi dicesti che anche quello di minimizzazione si potesse togliere. |
|
|
|
|
|
#9 |
|
Bannato
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR Casco: XR1000 Diabolic 3
Messaggi: 27578
|
Bhe ... Tutto dipende da cosa si vuole fare ... XMMS per esempio è una combinazione fra un tema fatto apposta e la programmazione di widget ad hoc.
Comunque GDK è importantissimo per fare cose un pochino + spinte. Sopratutto per modificare il comportamento dei widgets. Ricordatevi che con GTK+ potete far una programmazione OO e potete ereditare le caratteristiche di un widget per costruirne un altro o modificarne le funzionalità. In ogni caso vi consiglio di cercare sul reference manual delle API. Se non c'è li, non esiste. Comunque per creare uno splash screen in genere si fa così: Si crea una nuova finestra che non sia una main window: Codice:
GtkWidget * splash_screen = gtk_window_new(GTK_WINDOW_POPUP); Codice:
gtk_widget_set_usize(splash_screen, 428, 314); gtk_window_set_position(GTK_WINDOW(splash_screen), GTK_WIN_POS_CENTER); Codice:
GtkWidget * pixmap = create_pixmap_from_data(splash_screen, splash_xpm); gtk_container_add(GTK_CONTAINER(splash_screen, pixmap); gtk_widget_show(pixmap); gtk_widget_show(splash_screen); Codice:
gdk_flush(); /* Pensatela come una fflush(stdout); ;) */ Codice:
gtk_timeout_add(3000, splash_screen_cb, splash_screen); Codice:
gint
splash_screen_cb(GtkWidget * widget, gpointer user_data)
{
return (gtk_widget_hide(widget) &&
gtk_widget_destroy(widget));
}
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: May 2002
Città: Massa Carrara
Messaggi: 589
|
spiegazione chiara e lineare...
compliments. |
|
|
|
|
|
#11 |
|
Bannato
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR Casco: XR1000 Diabolic 3
Messaggi: 27578
|
A proposito gente... C'è la 2.2.4 sul sito
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:22.



















