Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Mensaje alerta (Programacion C)

Estas en el tema de Mensaje alerta (Programacion C) en el foro de C/C++ en Foros del Web. Saludos, estoy mirando a ver si puedo hacer un mensaje de alerta estilo este: Es posible hacer algo parecido en C?? Creo que no.. pero ...
  #1 (permalink)  
Antiguo 01/02/2010, 17:46
 
Fecha de Ingreso: septiembre-2007
Mensajes: 99
Antigüedad: 16 años, 7 meses
Puntos: 0
Mensaje alerta (Programacion C)

Saludos, estoy mirando a ver si puedo hacer un mensaje de alerta estilo este:



Es posible hacer algo parecido en C??

Creo que no.. pero a lo mejor con WinAPI o algo parecido se podria lograr...

Saludos y gracias ;)
__________________
---> Webnox.es
  #2 (permalink)  
Antiguo 02/02/2010, 03:58
 
Fecha de Ingreso: diciembre-2008
Ubicación: Vigo, Spain
Mensajes: 141
Antigüedad: 15 años, 4 meses
Puntos: 12
Respuesta: Mensaje alerta (Programacion C)

En C nunca se me pasó por la cabeza hacer algo por el estilo, si fuese en java se hace en 5 minutos xD .. ahora en serio, pues usando librerias que te permitan crear algo parecido a un entorno grafico, como la sdl, pues no deberia ser muy complicado, se crearia un proyecto diferente al de aplicacion de consola si mal no recuerdo .. y nunca usé la WinApi así que ni idea ;D
  #3 (permalink)  
Antiguo 02/02/2010, 05:45
 
Fecha de Ingreso: septiembre-2007
Mensajes: 99
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: Mensaje alerta (Programacion C)

ok... gracias... ;) creo que lo voy a dejar pasar, de momento

Saludos y gracias
__________________
---> Webnox.es
  #4 (permalink)  
Antiguo 02/02/2010, 07:48
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Mensaje alerta (Programacion C)

Con WinAPI puedes usar MessageBox:
http://msdn.microsoft.com/en-us/libr...8VS.85%29.aspx
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 02/02/2010, 18:01
 
Fecha de Ingreso: septiembre-2007
Mensajes: 99
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: Mensaje alerta (Programacion C)

Wooo! muchas gracias ;)
__________________
---> Webnox.es
  #6 (permalink)  
Antiguo 05/02/2010, 21:23
 
Fecha de Ingreso: enero-2010
Mensajes: 25
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Mensaje alerta (Programacion C)

Gtk es una libreria para la creación de GUI (Interfaz Gráfica de Usuario) que soporta varios lenguajes entre ellos C
Ademas puedes utilizar Glade para diseñar la ventana y luego libglade para cargarla en tu programa.

Manual de Referencia de LibGlade(en inglés)
http://web.mit.edu/ghudson/dev/nognome/third/libglade/doc/html/libglade.html
Tutorial de Gtk + Glade 3 (en inglés)
http://www.micahcarrick.com/01-01-2008/gtk-glade-tutorial-part-3.html

Este es un pequeño ejemplo, utilizando el buen IDE Dev-C++

Código C:
Ver original
  1. // Autor Jorge Ramírez.
  2. #include<gtk/gtk.h>
  3. #include<stdio.h>
  4. #include<glade/glade.h>
  5.     GladeXML *xml;
  6.     GtkWidget *ventanaPrincipal;
  7.  
  8. void on_window_destroy( GtkObject *object , gpointer userdata){
  9.      gtk_main_quit();
  10. }
  11.  
  12. int main(int argc, char **argv){
  13.  
  14.  
  15.     gtk_init(&argc, &argv);
  16.     xml = glade_xml_new("ventanaNuevo.glade", NULL, NULL);
  17.  
  18.     // Obtenemos la ventana principal
  19.  
  20.     ventanaPrincipal = glade_xml_get_widget(xml, "ventanaNuevo");
  21.  
  22.     /* conectamos los eventos con las funciones que manejan dichos eventos */
  23.    
  24.     g_signal_connect( G_OBJECT (ventanaPrincipal), "destroy",
  25.                       G_CALLBACK(on_window_destroy) ,NULL );                  
  26.    
  27.     glade_xml_signal_autoconnect(xml);
  28.     gtk_widget_show(ventanaPrincipal);
  29.     gtk_main();
  30.  
  31.     return 0;
  32. }

Última edición por devshared; 05/02/2010 a las 21:48
  #7 (permalink)  
Antiguo 05/02/2010, 21:34
 
Fecha de Ingreso: enero-2010
Mensajes: 25
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Mensaje alerta (Programacion C)

Y este es el archivo ventanaNuevo.glade que te genera el Glade, es un archivo XML

Código XML:
Ver original
  1. <?xml version="1.0"?>
  2. <glade-interface>
  3.   <!-- interface-requires gtk+ 2.16 -->
  4.   <!-- interface-naming-policy project-wide -->
  5.   <widget class="GtkWindow" id="ventanaNuevo">
  6.     <property name="title" translatable="yes">Nuevo Proyecto</property>
  7.     <property name="default_width">500</property>
  8.     <property name="default_height">200</property>
  9.     <child>
  10.       <widget class="GtkVBox" id="vbox1">
  11.         <property name="visible">True</property>
  12.         <property name="orientation">vertical</property>
  13.         <property name="spacing">7</property>
  14.         <child>
  15.           <placeholder/>
  16.         </child>
  17.         <child>
  18.           <widget class="GtkVBox" id="vbox2">
  19.             <property name="width_request">60</property>
  20.             <property name="height_request">160</property>
  21.             <property name="visible">True</property>
  22.             <property name="orientation">vertical</property>
  23.             <child>
  24.               <widget class="GtkHBox" id="hbox1">
  25.                 <property name="visible">True</property>
  26.                 <child>
  27.                   <widget class="GtkLabel" id="idLabel">
  28.                     <property name="visible">True</property>
  29.                     <property name="xalign">0.20000000298023224</property>
  30.                     <property name="label" translatable="yes">Identificador</property>
  31.                     <property name="ellipsize">start</property>
  32.                   </widget>
  33.                   <packing>
  34.                     <property name="position">0</property>
  35.                   </packing>
  36.                 </child>
  37.                 <child>
  38.                   <widget class="GtkEntry" id="idTexto">
  39.                     <property name="visible">True</property>
  40.                     <property name="can_focus">True</property>
  41.                     <property name="max_length">3</property>
  42.                     <property name="invisible_char">&#x25CF;</property>
  43.                   </widget>
  44.                   <packing>
  45.                     <property name="position">1</property>
  46.                   </packing>
  47.                 </child>
  48.               </widget>
  49.               <packing>
  50.                 <property name="position">0</property>
  51.               </packing>
  52.             </child>
  53.             <child>
  54.               <widget class="GtkHBox" id="hbox2">
  55.                 <property name="visible">True</property>
  56.                 <child>
  57.                   <widget class="GtkLabel" id="nombreLabel">
  58.                     <property name="visible">True</property>
  59.                     <property name="xalign">0.18000000715255737</property>
  60.                     <property name="label" translatable="yes">Nombre</property>
  61.                     <property name="ellipsize">start</property>
  62.                   </widget>
  63.                   <packing>
  64.                     <property name="position">0</property>
  65.                   </packing>
  66.                 </child>
  67.                 <child>
  68.                   <widget class="GtkEntry" id="nombreTexto">
  69.                     <property name="visible">True</property>
  70.                     <property name="can_focus">True</property>
  71.                     <property name="max_length">30</property>
  72.                     <property name="invisible_char">&#x25CF;</property>
  73.                   </widget>
  74.                   <packing>
  75.                     <property name="position">1</property>
  76.                   </packing>
  77.                 </child>
  78.               </widget>
  79.               <packing>
  80.                 <property name="position">1</property>
  81.               </packing>
  82.             </child>
  83.             <child>
  84.               <widget class="GtkHBox" id="hbox3">
  85.                 <property name="visible">True</property>
  86.                 <child>
  87.                   <widget class="GtkLabel" id="descripcionLabel">
  88.                     <property name="visible">True</property>
  89.                     <property name="xalign">0.18000000715255737</property>
  90.                     <property name="label" translatable="yes">Descripci&#xF3;n</property>
  91.                     <property name="ellipsize">start</property>
  92.                   </widget>
  93.                   <packing>
  94.                     <property name="position">0</property>
  95.                   </packing>
  96.                 </child>
  97.                 <child>
  98.                   <widget class="GtkEntry" id="descripcionTexto">
  99.                     <property name="visible">True</property>
  100.                     <property name="can_focus">True</property>
  101.                     <property name="max_length">60</property>
  102.                     <property name="invisible_char">&#x25CF;</property>
  103.                   </widget>
  104.                   <packing>
  105.                     <property name="position">1</property>
  106.                   </packing>
  107.                 </child>
  108.               </widget>
  109.               <packing>
  110.                 <property name="position">2</property>
  111.               </packing>
  112.             </child>
  113.             <child>
  114.               <widget class="GtkHBox" id="hbox4">
  115.                 <property name="visible">True</property>
  116.                 <child>
  117.                   <widget class="GtkLabel" id="fechaInicioLabel">
  118.                     <property name="visible">True</property>
  119.                     <property name="xalign">0.18000000715255737</property>
  120.                     <property name="label" translatable="yes">Fecha de Inicio</property>
  121.                     <property name="ellipsize">start</property>
  122.                   </widget>
  123.                   <packing>
  124.                     <property name="position">0</property>
  125.                   </packing>
  126.                 </child>
  127.                 <child>
  128.                   <widget class="GtkEntry" id="fechaInicioTexto">
  129.                     <property name="visible">True</property>
  130.                     <property name="can_focus">True</property>
  131.                     <property name="max_length">8</property>
  132.                     <property name="invisible_char">&#x25CF;</property>
  133.                   </widget>
  134.                   <packing>
  135.                     <property name="position">1</property>
  136.                   </packing>
  137.                 </child>
  138.               </widget>
  139.               <packing>
  140.                 <property name="position">3</property>
  141.               </packing>
  142.             </child>
  143.           </widget>
  144.           <packing>
  145.             <property name="position">1</property>
  146.           </packing>
  147.         </child>
  148.         <child>
  149.           <widget class="GtkHBox" id="hbox6">
  150.             <property name="visible">True</property>
  151.             <child>
  152.               <placeholder/>
  153.             </child>
  154.             <child>
  155.               <placeholder/>
  156.             </child>
  157.             <child>
  158.               <widget class="GtkButton" id="aceptarBoton">
  159.                 <property name="label" translatable="yes">Aceptar</property>
  160.                 <property name="width_request">15</property>
  161.                 <property name="height_request">10</property>
  162.                 <property name="visible">True</property>
  163.                 <property name="can_focus">True</property>
  164.                 <property name="receives_default">True</property>
  165.               </widget>
  166.               <packing>
  167.                 <property name="position">2</property>
  168.               </packing>
  169.             </child>
  170.             <child>
  171.               <widget class="GtkButton" id="cancelarBoton">
  172.                 <property name="label" translatable="yes">Cancelar</property>
  173.                 <property name="width_request">15</property>
  174.                 <property name="height_request">10</property>
  175.                 <property name="visible">True</property>
  176.                 <property name="can_focus">True</property>
  177.                 <property name="receives_default">True</property>
  178.               </widget>
  179.               <packing>
  180.                 <property name="position">3</property>
  181.               </packing>
  182.             </child>
  183.           </widget>
  184.           <packing>
  185.             <property name="position">2</property>
  186.           </packing>
  187.         </child>
  188.       </widget>
  189.     </child>
  190.   </widget>
  191. </glade-interface>

Esta es la apariencia de la ventana, no es el Mensaje de Alerta pero sirve como ejemplo.



Saludos!!
Visiten www.devshared.net

Última edición por devshared; 05/02/2010 a las 21:49
  #8 (permalink)  
Antiguo 06/02/2010, 09:58
 
Fecha de Ingreso: enero-2010
Mensajes: 25
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Mensaje alerta (Programacion C)

En mi blog esta un tutorial de instalación de GTK en Dev-C++
http://www.devshared.net/como-instalar-gtk-en-dev-c/

Etiquetas: mensaje, programacion, alerta
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:41.