บทความ

Note for I Cisco aironet 1600 series config for SAP enable WEBUI Console to your Access Point  Create user / password / open both radio and open GUI after this  you can access WebGUI to Management  config terminal username admin pri 15 sec admin int dot110 no shutdown int dot111 no shutdown ip http server ip http authen local line vty 0 4 login local Open IP address to Access to WebUI  bridge irb bridge 1 route ip interface bvi 1 ip address 192.168.1.10 255.255.255.0 no shut

7. Cairo create PNG image

7. Cairo create PNG image #include <cairo.h> int main(void) { cairo_surface_t *surface; cairo_t *cr; surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 390, 60); cr = cairo_create(surface); cairo_set_source_rgb(cr, 0, 0, 0); cairo_select_font_face(cr, "Sans", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL); cairo_set_font_size(cr, 40.0); cairo_move_to(cr, 10.0, 50.0); cairo_show_text(cr, "Disziplin ist Macht."); cairo_surface_write_to_png(surface, "image.png"); cairo_destroy(cr); cairo_surface_destroy(surface); return 0; }

6. การสร้างภาพ โดย Cairo graphics

Cairo graphics เป็น libery ที่อยู่ใน GTK3.0 อิอิ ผมศึกษาจาก   http://zetcode.com/gfx/cairo/

5. timer

5. timer #include <stdio.h> #include <string.h> #include <gtk/gtk.h> /* Determines if to continue the timer or not */ static gboolean continue_timer = FALSE; /* Determines if the timer has started */ static gboolean start_timer = FALSE; /* Display seconds expired */ static int sec_expired = 0; static gboolean _label_update(gpointer data) {     GtkLabel *label = (GtkLabel*)data;     char buf[256];     memset(&buf, 0x0, 256);     snprintf(buf, 255, "Time elapsed: %d secs", ++sec_expired);     gtk_label_set_label(label, buf);     return continue_timer; } int main(int argc, char *argv[]) {     GtkWidget *window;     GtkWidget *frame;     GtkWidget *quit_button;     GtkWidget *label;     gtk_init(NULL, NULL);     window = gtk_window_new(GTK_WINDOW_TOPLEVEL);     gtk_window_set_title(GTK_WINDOW(window),...

4. Menu bar

4. Menu bar #include <gtk/gtk.h> #include <gdk/gdkkeysyms.h> int main( int argc, char *argv[]) {   GtkWidget *window;   GtkWidget *vbox;   GtkWidget *menubar;   GtkWidget *filemenu;   GtkWidget *file;   GtkWidget *open;   GtkWidget *quit;   GtkWidget *sep;   GtkAccelGroup *accel_group = NULL;   gtk_init(&argc, &argv);   window = gtk_window_new(GTK_WINDOW_TOPLEVEL);   gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);   gtk_window_set_default_size(GTK_WINDOW(window), 250, 200);   gtk_window_set_title(GTK_WINDOW(window), "menu");   vbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);   gtk_container_add(GTK_CONTAINER(window), vbox);   menubar = gtk_menu_bar_new();   filemenu = gtk_menu_new();   accel_group = gtk_accel_group_new();   gtk_window_add_accel_group(GTK_WINDOW(window), accel_group);   file = gtk_menu_item...

3. buttom แบบ vertical box

#include <gtk/gtk.h> int main( int argc, char *argv[]) { GtkWidget *window; GtkWidget *vbox; GtkWidget *settings; GtkWidget *accounts; GtkWidget *loans; GtkWidget *cash; GtkWidget *debts; gtk_init(&argc, &argv); window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER); gtk_window_set_default_size(GTK_WINDOW(window), 230, 250); gtk_window_set_title(GTK_WINDOW(window), "GtkVBox"); gtk_container_set_border_width(GTK_CONTAINER(window), 5); vbox = gtk_vbox_new(TRUE, 1); gtk_container_add(GTK_CONTAINER(window), vbox); settings = gtk_button_new_with_label("Settings"); accounts = gtk_button_new_with_label("Accounts"); loans = gtk_button_new_with_label("Loans"); cash = gtk_button_new_with_label("Cash"); debts = gtk_button_new_with_label("Debts"); gtk_box_pack_start(GTK_BOX(vbox), settings, TRUE, TRUE, 0); gtk_box_pac...

2. buttom แบบ fixed

2. buttom แบบ fixed #include <gtk/gtk.h> gint count = 0; char buf[5]; void increase(GtkWidget *widget, gpointer label) { count++; sprintf(buf, "%d", count); gtk_label_set_text(GTK_LABEL(label), buf); } void decrease(GtkWidget *widget, gpointer label) { count--; sprintf(buf, "%d", count); gtk_label_set_text(GTK_LABEL(label), buf); } int main(int argc, char** argv) { GtkWidget *label; GtkWidget *window; GtkWidget *frame; GtkWidget *plus; GtkWidget *minus; gtk_init(&argc, &argv); window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER); gtk_window_set_default_size(GTK_WINDOW(window), 250, 180); gtk_window_set_title(GTK_WINDOW(window), "+-"); frame = gtk_fixed_new(); gtk_container_add(GTK_CONTAINER(window), frame); plus = gtk_button_new_with_label("+"); gtk_widget_set_size_request(plus, 80, 35); gtk_fixed_put(GTK_FIXED(frame), ...