Β case GTK_RESPONSE_ACCEPT:Β Β do_stuff();Β break;Β case GTK_RESPONSE_REJECT:Β Β do_nothing();Β Β break;Β default:Β dialog_was_cancelled();Β break;Β }Β gtk_widget_destroy(dialog);}int main() {Β ...Β GtkWidget *dialog = create_dialog();Β g_signal_connect(GTK_OBJECT(dialog), "response",Β Β GTK_SIGNAL_FUNC(dialog_button_clicked), user_data);Β gtk_widget_show(dialog);Β ...}Π‘ Π½Π΅ΠΌΠΎΠ΄Π°Π»ΡΠ½ΡΠΌΠΈ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΡΠΌΠΈ ΠΎΠΊΠ½Π°ΠΌΠΈ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ, Ρ.ΠΊ. ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΡΠ²Π΅ΡΠ°, ΠΈ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΡΠ²Π΅ΡΠ½ΡΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΈ Π·Π°Π±ΡΡΡ ΠΎ Π½Π΅ΠΌ. ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΎΡΠΊΡΡΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Π΄ΠΎ Π·Π°ΠΊΡΡΡΠΈΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΎΠΊΠ½Π°. Π‘Π»Π΅Π΄ΡΠ΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΠ°Π²Π΅Π½ Π»ΠΈ
NULLgtk_window_presentGtkMessageDialog
ΠΠ»Ρ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΡΡ ΠΎΠΊΠΎΠ½ Π΄Π°ΠΆΠ΅ ΡΠΈΠΏ
GtkDialogGtkDialogΒ +----GtkMessageDialogΠ‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΠΏΠ°
GtkMessageDialog<b>GtkWidget* gtk_message_dialog_new(GtkWindow *parent,</b><b>Β GtkDialogFlags flags, GtkMessageType type,</b><b>Β GtkButtonsType buttons, const gchar *message_format, ...);</b>ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΡΠΎΠ·Π΄Π°Π΅Ρ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, ΡΠ½Π°Π±ΠΆΠ΅Π½Π½ΠΎΠ΅ ΠΏΠΈΠΊΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌΠΈ, Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ ΠΈ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠΌΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡβ‘
GTK_MESSAGE_INFOβ‘
GTK_MESSAGE_WARNINGβ‘
GTK_MESSAGE_QUESTIONβ‘
GTK_MESSAGE_ERRORΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
GTK_MESSAGE_OTHERGtkMessageDialogGtkButtonsTypeΠ’Π°Π±Π»ΠΈΡΠ° 16.4
Π’ΠΈΠΏ GtkButtonsType | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
|---|---|
GTK_BUTTONS_OK | ΠΠ½ΠΎΠΏΠΊΠ° OK |
GTK_BUTTONS_CLOSE | ΠΠ½ΠΎΠΏΠΊΠ° Close |
GTK_BUTTONS_CANCEL | ΠΠ½ΠΎΠΏΠΊΠ° Cancel |
GTK_BUTTONS_YES_NO | ΠΠ½ΠΎΠΏΠΊΠΈ Yes ΠΈ No |
GTK_BUTTONS_OK_CANCEL | ΠΠ½ΠΎΠΏΠΊΠΈ OK ΠΈ Cancel |
GTK_BUTTONS_NONE | ΠΠ΅Ρ ΠΊΠ½ΠΎΠΏΠΎΠΊ |
Π’Π΅ΠΏΠ΅ΡΡ ΠΎΡΡΠ°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΊΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΠ· ΡΡΡΠΎΠΊΠΈ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ, ΡΠΎΡΠΌΠΈΡΡΠ΅ΠΌΠΎΠΉ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π² ΡΡΠ½ΠΊΡΠΈΠΈ
printfGtkWidget *dialog = gtk_message_dialog_new(main_window,Β GTK_DIALOG_DESTROY_WITH_PARENT,Β GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO,Β "Are you sure you wish to delete %s?", filename);result = gtk_dialog_run(GTK_DIALOG(dialog));gtk_widget_destroy(dialog);ΠΡΠΎ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡ. 16.14.

Π ΠΈΡ. 16.14
ΠΠΊΠ½ΠΎ ΡΠΈΠΏΠ°
GtkMessageDialogΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ-Π΄ΠΈΡΠΊΠΎΠ²
Π ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ Π³Π»Π°Π²Π°Ρ Π²Ρ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π»ΠΈ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ-Π΄ΠΈΡΠΊΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ MySQL ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘. Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅, ΠΊΠ°ΠΊ ΠΏΡΠΎΡΡΠΎ Π²ΡΡΠ°Π²ΠΈΡΡ Π²Π½Π΅ΡΠ½ΠΈΠΉ GUI ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ GNOME/GTK+ ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Ρ Π±ΠΎΠ³Π°ΡΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ.Β
ΠΠ»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ-Π΄ΠΈΡΠΊΠΎΠ² Ρ Π²Π°Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ Π‘Π£ΠΠ MySQL ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, Ρ.Π΅. Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠ΅ ΠΆΠ΅ ΡΠ°ΠΌΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ, ΡΡΠΎ ΠΈ ΠΊ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² Π³Π»Π°Π²Π΅ 8.
ΠΠ· ΡΠΎΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΏΡΠΎΡΡΠΎΡΡ ΠΈ ΡΡΠ½ΠΎΡΡΠΈ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π±Π°Π·ΠΎΠ²ΡΠΉ ΡΠΊΠ΅Π»Π΅ΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π»ΠΈΡΡ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΡΠ½ΠΊΡΠΈΠΉ β ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, Π²Ρ Π½Π΅ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π΄ΠΎΡΠΎΠΆΠΊΠ°Ρ Π² ΠΊΠΎΠΌΠΏΠ°ΠΊΡ-Π΄ΠΈΡΠΊΠΈ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»ΡΡΡ CD. ΠΠΎ Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ Π² Π²Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΠΈ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ, ΠΎΠ±ΡΡΠΆΠ΄Π°Π²ΡΠΈΠ΅ΡΡ Π² ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅, ΠΈ ΠΏΠΎΠΉΠΌΠ΅ΡΠ΅, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π² ΡΠ΅Π°Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ .
ΠΡΠ΄Π΅Ρ Π½Π°ΠΏΠΈΡΠ°Π½ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄ Π΄Π»Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΊΠ»ΡΡΠ΅Π²ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ:
β‘Β ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ ΠΈΠ· GUI;
β‘Β ΠΏΠΎΠΈΡΠΊ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ-Π΄ΠΈΡΠΊΠ°;
β‘Β ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ ΠΎ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ-Π΄ΠΈΡΠΊΠ΅ ΠΈ Π΅Π³ΠΎ Π΄ΠΎΡΠΎΠΆΠΊΠ°Ρ ;
β‘Β Π²ΡΡΠ°Π²ΠΊΠ° ΠΊΠΎΠΌΠΏΠ°ΠΊΡ-Π΄ΠΈΡΠΊΠ° Π² Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ;
β‘Β ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠΊΠ½Π° About (Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅);
β‘Β ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΡΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
Π Π°Π·Π΄Π΅Π»ΠΈΠΌ ΠΊΠΎΠ΄ Π½Π° ΡΡΠΈ ΡΠ°ΠΉΠ»Π°, ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» cdapp_gnome.h. Π ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΠ°ΠΉΠ»Π°Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠΊΠΎΠ½ ΠΈ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΡΡ ΠΎΠΊΠΎΠ½ β ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° β ΠΎΡΠ΄Π΅Π»Π΅Π½Ρ ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° (ΡΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΡ 16.11-16.14).