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

📄 m_window.h~

📁 linux下的人机对话编程
💻 H~
📖 第 1 页 / 共 2 页
字号:
/*#include <gnome.h>#include<gtk/gtk.h>#include <sys/types.h>#include <sys/ipc.h>#include <sys/shm.h>#include <sys/sem.h>#include<sys/stat.h>	#include"bg.h"#include"toggle.h"#include"sg.h"#include"switch.h"#include"line.h"#include"text.h"#include"popmenu.h"#include"sig.h"#include"echo_fd.h"#include"field.h"#include"sendto.h"#include"main.h"*/#include "ILDATATYPE.h"                    int t=0; GtkWidget *canvas; GtkWidget *clist; GtkWidget *window;GtkWidget *dialog;  static GtkWidget *entry; static GtkWidget *entry1; GnomeCanvasItem  *enbox; GnomeCanvasItem  *pass_word; GnomeCanvasItem  *bu_ok; GnomeCanvasItem  *bu_cancel; GtkWidget        *entrybox;  gboolean Main_Cpu=TRUE; gboolean Bake_Cpu=FALSE; gboolean Main=FALSE;        /***主机使用标志***/ gboolean Bake=FALSE;        /**备用机使用标志**/ gboolean value=FALSE; gboolean value_sw=FALSE; gboolean close_app=FALSE;/*各灯是否刷新控制量 gboolean Rf_D1=FALSE,      Rf_D3=FALSE,     Rf_D5=FALSE,      Rf_D7=FALSE,     Rf_D9=FALSE,              Rf_D11=FALSE,    Rf_D13=FALSE,    Rf_D15=FALSE,     Rf_D17=FALSE,    Rf_D19=FALSE,           Rf_X=FALSE,      Rf_XD=FALSE,     Rf_S3=FALSE,      Rf_S5=FALSE,     Rf_S2=FALSE,           Rf_S4=FALSE,     Rf_D2=FALSE,     Rf_D4=FALSE,      Rf_D6=FALSE,     Rf_D8=FALSE,           Rf_S=FALSE,      Rf_X1=FALSE,     Rf_X3=FALSE,      Rf_X4=FALSE,     Rf_X5=FALSE;*//*区段和道岔是否刷新控制量*/ gboolean Rf_Sw=FALSE,Rf_Fd=FALSE;  int Ma,Ba; GnomeCanvasItem *A,*B,*TA,*TB;    /*全局量定义*/ GtkWidget       *dialog; int aaa,t; gboolean test=FALSE; gchar *titles[1]={"信息提示"};/*****************密码程序******************/ void Button_Ok_Pressed(GtkWidget *button,gpointer data){  const  gchar *password;  password=gtk_entry_get_text(GTK_ENTRY(entry));  if(strcmp(password,"123456")==0)        gtk_main_quit();  else         g_print("eorr!\n");   g_print("密码是: %s",password);  g_print("\n");}void Button_Cancel_Pressed(){  /* gchar*password=gtk_entry_get_text(GTK_ENTRY(entry));*/}void stringcallback(gchar *string,gpointer data){ }/*int eventDelete(GtkWidget *widget,GdkEvent *event,gpointer data){ exit_main_init();	 }*//*******************试验函数********************/int sby(){  unsigned char gdj;  gdj=aw->FdNode_DynTab[23][1];   if(test==FALSE)  {    aw->SwNode_DynTab[5][1]=0x55;    test=TRUE;  }  else if(test==TRUE)  {    aw->SwNode_DynTab[5][1]=0xaa;    test=FALSE;  }  if(gdj==0xaa)    aw->FdNode_DynTab[23][1]=0x55;  else if(gdj==0x55)    aw->FdNode_DynTab[23][1]=0xaa;   g_print("%x\n",aw->FdNode_DynTab[23][1]);  return 1; }/********************应用程序结束函数***********************/void CloseApp(){//	exit_main_init();  gtk_main_quit();  GnomeCanvasGroup *group;/*程序结束对话框*/  group=gnome_canvas_root(GNOME_CANVAS(canvas));/*获得根组*/   GtkWidget *box;  GtkWidget *box1;  GtkWidget *scrolled_window1;  GtkWidget *button_ok;  GtkWidget *button_cancel;/* gtk_container_add(GTK_CONTAINER(window),box);*//*---------------------------------------*//* dialog=gnome_dialog_new("123",GNOME_STOCK_BUTTON_YES,GNOME_STOCK_BUTTON_NO,NULL);  gnome_dialog_set_parent(GNOME_DIALOG(dialog),GTK_WINDOW(window));*/  entry=gtk_entry_new();        gtk_entry_set_visibility(GTK_ENTRY(entry),FALSE);  gtk_entry_set_editable(GTK_ENTRY(entry),TRUE);  gtk_entry_set_text(GTK_ENTRY(entry),"123456");/* gtk_container_add(GTK_CONTAINER(box),entry);*//* gtk_box_pack_start(GTK_BOX(box),entry,FALSE,FALSE,5);*//* scrolled_window1=gtk_scrolled_window_new(0,NULL);  gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled_window1),GTK_POLICY_AUTOMATIC,GTK                                 _POLICY_AUTOMATIC);*/  /**********************口令对话框放置在画布上**************************/  entrybox=gnome_canvas_item_new(group,gnome_canvas_widget_get_type(),"widget",entry,"x",385.0,                                 "y",485.0,"width",85.0,"height",20.0,"size_pixels",TRUE,NULL);  pass_word=gnome_canvas_item_new(group,gnome_canvas_text_get_type(),			      "text","PassWord","x",330.0,"y",495.0,"anchor",GTK_ANCHOR_WEST,                              "font","6*12","fill_color","green",NULL);	        button_ok=gtk_button_new_with_label("Ok");  button_cancel=gtk_button_new_with_label("Cancel");  bu_ok= gnome_canvas_item_new(group,gnome_canvas_widget_get_type(),			      "widget",button_ok,"x",385.0,"y",510.0,"width",40.0,"height",                               15.0,"size_pixels",TRUE,NULL);    bu_cancel= gnome_canvas_item_new(group,gnome_canvas_widget_get_type(),				  "widget",button_cancel,"x",430.0,"y",510.0,"width",40.0,                                 "height",15.0,"size_pixels",TRUE,NULL);   gtk_signal_connect(GTK_OBJECT(button_ok),"clicked",GTK_SIGNAL_FUNC(Button_Ok_Pressed),NULL);  gtk_signal_connect(GTK_OBJECT(button_cancel),"clicked",GTK_SIGNAL_FUNC(Button_Cancel_Pressed)                     ,NULL);	  gtk_widget_show_all(window);	    }/**********************建立列表框*******************/void show_list(){  GnomeCanvasGroup *group;  GtkWidget *scrolled_window;  GnomeCanvasItem *IF;  group=gnome_canvas_root(GNOME_CANVAS(canvas));  /**********创建滚动窗口*************/  scrolled_window=gtk_scrolled_window_new(0,NULL);  gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled_window),GTK_POLICY_AUTOMATIC,                                 GTK_POLICY_ALWAYS);     /******放置在画布上******/  gnome_canvas_item_new(group,gnome_canvas_widget_get_type(),                        "widget",scrolled_window,"x",600.0,"y",440.0,"width",200.0,"height",                        150.0,"size_pixels",TRUE,NULL);  /*******建立列表框及定义其性质*******/  clist=gtk_clist_new(2);     /**参数是列数原型为:GtkWidget *gtk_clist_new(gint columns)**/  gtk_clist_set_column_width(GTK_CLIST(clist),0,70);  gtk_clist_set_column_width(GTK_CLIST(clist),1,150);  gtk_clist_set_shadow_type(GTK_CLIST(clist),GTK_SHADOW_OUT);     /* gtk_clist_set_row_height(GTK_CLIST(clist),5);*/       gtk_container_add(GTK_CONTAINER(scrolled_window),clist);  GdkColor dfcolor1;  GtkStyle *dfstyle1;	  gint k;  dfcolor1.red=0x00aa;  dfcolor1.green=0x00aa;  dfcolor1.blue=0x00aa;  GdkColor dfcolor2;  GtkStyle *dfstyle2;/*是不是没用*/       gint j;	  dfcolor2.red=0x8e8e;  dfcolor2.green=0x8e8e;  dfcolor2.blue=0x8e8e;	/*gtk_clist_set_foreground(GTK_CLIST(clist),0,dfcolor2);  gtk_clist_set_foreground(GTK_CLIST(clist),1,dfcolor2);  gtk_clist_set_background(GTK_CLIST(clist),0,dfcolor2);  gtk_clist_set_background(GTK_CLIST(clist),1,dfcolor2);*/    dfstyle1=gtk_style_copy(gtk_widget_get_style(clist));  /******为什么要分开赋值????******/	  for(k=0;k<5;k++)  {    dfstyle1->text[k]=dfcolor1;    dfstyle1->fg[k]=dfcolor1;   }	  for(j=0;j<5;j++)  {    dfstyle1->bg[j]=dfcolor2;   }  gtk_widget_set_style(clist,dfstyle1); }/*************此函数实现A|B机监控(具有闪的动作)***************//*void Flash_Main(){  if(Main==FALSE)  {    gnome_canvas_item_hide(A);    Main=TRUE;  }  else  {    gnome_canvas_item_show(A);    Main=FALSE;  }}void Flash_Bake(){  if(Bake==FALSE)  {    gnome_canvas_item_hide(B);    Bake=TRUE;  }  else  {    gnome_canvas_item_show(B);

⌨️ 快捷键说明

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