⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 用GTK+做用户界面 股票每日分时行情用数据库管理——MYSQL 软件应用方式客户端/服务器模式 基于TCP/IP的C/S通信模式 实现STOCK
💻 C
字号:
#include "gmclient.h"#include "stockclient.h"#include "draw.h"GtkWidget *drawing_area;stockSql *stocksql;stockDraw *stockdraw;stockClient *stkcli;/*
 * KeyPress
 *
 * Hey, a keypress.  Add the key to the list of 
 * keys currently being pressed.
 */
static gint KeyPress (GtkWidget *widget, GdkEventKey *event)
{

    whatKey (event);
    return (FALSE);
}

/*
 * KeyRelease
 *
 * Hey, they let go of a keypress.  Remove the 
 * key from the list of keys that is currently
 * being pressed.
 */
static gint KeyRelease (GtkWidget *widget, GdkEventKey *event)
{
    RemoveKey (event);
    return (FALSE);
}
gint quitSys(GtkWidget *widget,gpointer gdata){   gtk_main_quit();   stock_quit();   releaseCfgRecord();   stocksql->closeStockSql();   delete stocksql;   stkcli->dealDisconnect();   delete stkcli;   g_print("quit...\n");   return(FALSE); }int main(int argc,char *argv[]){   int sec_timeout = 2;   GtkWidget *window,*box;   if(readCfg()==FAIL){        return 0;   }      gtk_init(&argc,&argv);   stocksql = new stockSql();       if(stocksql->connectStockSql() == FAIL){//     return 0;   }   stockdraw = new stockDraw();   stkcli = new stockClient("127.0.0.1",1234,stderr);   window=createWindow(VERSION,                       788, 573, 1, 1,0,                      GTK_SIGNAL_FUNC(quitSys));        box=createBox(window,VERTICAL,2);    createMenu(box);   //   box1=createBox(box,HORIZONTAL,0);    drawing_area=gtk_drawing_area_new();   gtk_drawing_area_size(GTK_DRAWING_AREA(drawing_area),300,300);//   gtk_box_pack_start(GTK_BOX(box),drawing_area,TRUE,TRUE,0);   gtk_widget_show(drawing_area);    gtk_signal_connect(GTK_OBJECT(drawing_area),                     "expose_event",                     (GtkSignalFunc)expose_event,NULL);                        gtk_signal_connect(GTK_OBJECT(drawing_area),                     "configure_event",                     (GtkSignalFunc)configure_event,NULL);    /* --- Key press signals --- */
    gtk_signal_connect (GTK_OBJECT (window), "key_press_event",
                (GtkSignalFunc) KeyPress, NULL);
    gtk_signal_connect (GTK_OBJECT (window), "key_release_event",
                (GtkSignalFunc) KeyRelease, NULL);
    /* --- Need to know about mouse movements. --- */
    gtk_signal_connect (GTK_OBJECT(drawing_area),                        "motion_notify_event",
                        (GtkSignalFunc) motion_notify, NULL);
  
    /* --- Need to know about mouse button press. --- */
    gtk_signal_connect( GTK_OBJECT(drawing_area),                     "button_press_event",	  	     (GtkSignalFunc)button_notify, NULL );    gtk_signal_connect( GTK_OBJECT(drawing_area),                     "button_release_event",	  	     (GtkSignalFunc)releasebutton_notify, NULL );    /* --- Events to listen for --- */
    gtk_widget_set_events (drawing_area,                             GDK_EXPOSURE_MASK
                           | GDK_LEAVE_NOTIFY_MASK
                           | GDK_BUTTON_PRESS_MASK
                           | GDK_BUTTON_RELEASE_MASK
                           | GDK_POINTER_MOTION_MASK                           | GDK_POINTER_MOTION_HINT_MASK);
   gtk_box_pack_start(GTK_BOX(box),drawing_area,TRUE,TRUE,0);    stkcli->connect(sec_timeout);   if(stkcli->dealLogin("lxw","lxwlxw"))     printf("login server success!\n");   else     printf("login server fail!\n");   drawInit();   drawarea_init();//   connectServer();   stock_init();   jszbInit();   frechStock("600001");    Repaint();   gtk_timeout_add(200,drawTime,drawing_area);   gtk_main();       return 1;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -