X lib は win32 SDK と比較すると遙かに低級です.それゆえにXt,GTK,Qtといっ た上位のライブラリが存在するのです.
Windows でよく目にするダイアログボックスと同じようなものを作るにも大変な 量のコーディングが必要となります.ではどうしたらいいか?
幸い,UNIXの世界はオープンソースで便利なものがたくさん見付かります. ここは Xlib に固執しないのが得策です.
これでも,Windowsと比べたらいろいろ面倒なのですが.
0001: /* 0002: gnome message box 0003: gcc dialog-x.c `gnome-config --cflags --libs gnomeui` 0004: */ 0005: 0006: #include <gnome.h> 0007: 0008: int main(int argc, char *argv[]) 0009: { 0010: GtkWidget *dialog; 0011: 0012: gnome_init("test", "1.0", argc, argv); 0013: dialog = gnome_message_box_new( "メッセージの表示", GNOME_MESSAGE_BOX_GENERIC, GNOME_STOCK_BUTTON_OK,NULL ); 0014: gtk_signal_connect ( GTK_OBJECT(dialog), "clicked", GTK_SIGNAL_FUNC(gtk_main_quit), NULL); 0015: gtk_widget_show(dialog); 0016: gtk_main(); 0017: return 0; 0018: }
「既成の便利なものは使う」,この精神は忘れないで覚えておくことにしましょ う.