may this sample code is usefull for someone. It shows, how to use GTK-based Messagerequester which are more customizeable and even free moveable.....
Code: Select all
;2006 by walker
;
gtk_init_(0,0)
Procedure gMessageRequester(titel.s,message.s,ok.l,cancel.l,yes.l,no.l)
txt.s=message+#LF$
ueber.s=titel
*gdialog.GtkDialog
*gdialog=gtk_dialog_new_()
*gtext.GtkWidget
*gtext=gtk_label_new_(txt)
gtk_window_set_title_(*gdialog\window,ueber)
gtk_container_add_(*gdialog\vbox,*gtext)
gtk_widget_show_(*gtext)
gtk_label_set_line_wrap_(*gtext,#True);linewrap
gtk_label_set_justify_(*gtext,#GTK_JUSTIFY_LEFT);text justification
gtk_misc_set_alignment_(*gtext,0.1,0.1);set the label to the left top corner...always .......... 0.01 is more top left....
gtk_window_set_default_size_( *gdialog , 230, 100); the minimum size
; gtk_window_move_(*gdialog,10,10); uncomment if you want a special position
If cancel
gtk_dialog_add_button_(*gdialog,#gtk_stock_cancel,#gtk_response_cancel)
EndIf
If ok
gtk_dialog_add_button_(*gdialog,#gtk_stock_ok,#gtk_response_ok)
EndIf
If no
gtk_dialog_add_button_(*gdialog,#gtk_stock_no,#gtk_response_no)
EndIf
If yes
gtk_dialog_add_button_(*gdialog,#gtk_stock_yes,#gtk_response_yes)
EndIf
x=gtk_dialog_run_(*gdialog);return the presed button
gtk_widget_destroy_(*gdialog);close requester
ProcedureReturn x
EndProcedure
*gdialog.GtkDialog
*gdialog=gtk_message_dialog_new_(hwnd,1,#gtk_message_info,#GTK_Buttons_ok,"Simple Messagerequester"+#LF$+" with two lines, and two substituted var: %s : %s","varone","vartwo")
gtk_dialog_run_(*gdialog)
gtk_widget_destroy_(*gdialog)
*gdialog=gtk_message_dialog_new_(hwnd,1,#gtk_message_info,#GTK_Buttons_none,"Simple Messagerequester"+#LF$+" with two lines, and 2 'selfmade' buttons","","")
gtk_dialog_add_button_(*gdialog,#gtk_stock_no,#gtk_response_no)
gtk_dialog_add_button_(*gdialog,#gtk_stock_yes,#gtk_response_yes)
gtk_dialog_run_(*gdialog)
gtk_widget_destroy_(*gdialog)
OpenWindow(0,0,0,300,250,#PB_Window_ScreenCentered,"test")
Delay(1000)
Select gMessageRequester("Messagerequester", "Messagerequester using GTKDialog"+#LF$+#LF$+"2006 by walker "+#LF$,#True,#True,#FALSE,#FALSE);1 or #true to show coresponding button
Case #gtk_response_ok
Case #gtk_response_cancel
Case #gtk_response_yes
Case #gtk_response_no
Default
;if no buttun is pressed and requester is closed by system-menu
EndSelect
Repeat
w=WaitWindowEvent()
Until w=#PB_Event_CloseWindow
