2010-09-16 18 views
12

Estoy tratando de aprender cómo escribir programas de Windows GUI * en C++, usando Visual Studio 2008, pero no he encontrado ningún tutorial más completo para principiantes.Tutorial completo para principiantes sobre cómo escribir programas de Windows GUI

Los tutoriales más completos que he encontrado son solo acerca de cómo hacer botones, menús, etc. O solo sobre cómo escribir programas básicos de consola en C++.

Lo que no he encontrado es un tutorial más completo para principiantes sobre cómo combinar botones, menús, etc. con código C++.

En otras palabras, estoy buscando respuestas a la pregunta: ¿Cómo puedo vincular menús, botones, etc. al código C++?

Si sabe dónde puedo encontrar respuestas a esa pregunta, ¡escríbalas aquí, por favor!

Nota: "Interfaz gráfica de usuario (GUI): incluye iconos, paneles y ventanas interactivas para permitir a los usuarios realizar acciones como abrir archivos y crear aplicaciones con un clic del mouse" (intoweb.co.za/et-linux-tips.html).


Actualmente estoy leyendo un tutorial en C# techotopia.com, que parece que se incluyen no sólo los conceptos básicos de C#, sino también información útil sobre cómo utilizar C# para obtener los botones, menús. etc. para hacer algo realmente Sin embargo, solo comencé a leer el tutorial, por lo útil que es realmente, aún no lo sé.


ahora que he terminado de leer el tutorial en C# techotopia.com y aprendido algunos hechos básicos sobre cómo hacer realidad los controles en un formulario ventanas hacer algo. Si hubiera sabido lo que ahora sé sobre C# antes, lo más probable es que hubiera elegido aprender ese idioma antes de comenzar a aprender C++.

No entiendo por qué todos y cada uno de los tutoriales de C++ GUI para principiantes no están escritos en el mismo estilo que los tutoriales en techotopia.com. No veo ninguna razón por la cual los tutoriales de los programas de GUI de C++ para principiantes no pueden estar repletos de hechos básicos Y explicar incluso las cosas más simples a personas como yo, que necesitan tales explicaciones para comprender un tema nuevo. Bueno, probablemente haya tales tuturials, solo que no los he encontrado.


Ahora es el momento, creo, para hacer una breve lista de lo pasos que he dado para llegar a donde estoy hoy, cuando se trata de habilidades informáticas en general y capacidad de escribir programas de ordenador en particular. Estoy publicando la lista aquí para el beneficio de las personas que quieren ser buenas escribiendo programas de computadora pero no saben cómo alcanzar esa meta o se han engañado a sí mismas, como lo he hecho una y otra vez. No es una lista final de ninguna manera. Es solo una breve descripción de lo que funcionó para mí.

Paso 1. Usa muchos programas de computadora (procesadores de texto, editores de imágenes y todo lo que te interese) para ver qué se puede hacer con una computadora.

Paso 2. Escribir páginas web con HTML y CSS. HTML, Hypertext Markupup Language, se usa para indicarle a los navegadores cosas como el principio y el final de los párrafos, la estructura de las tablas y dónde incluir las imágenes. CSS, hojas de estilo en cascada, se utilizan para agregar cosas como el tamaño del texto y el color de fondo a las páginas web.

Paso 3. Mejore sus páginas web con PHP. PHP, preprocesador de hipertexto, recuerda C# y C++ y es un lenguaje de scripting del lado del servidor.El lado del servidor significa que se hace algo en una página web antes de que se envíe al navegador de un visitante, como agregar un código que hace posible enviar un mensaje. PHP es más fácil para un principiante que C# y C++. Además, si ha escrito algunas páginas HTML, puede agregar gradualmente PHP a estas páginas. En otras palabras, puede aprender a usar PHP en un contexto familiar.

Paso 4. Aprender C#. Recuerda a PHP y C++. Más difícil para un principiante que PHP pero más fácil que C++. Aquí es donde estoy ahora. Estos enlaces pueden ser de al menos algún uso:

Paso 5. Aprende C++. Recuerda a PHP y C#. Más difícil para un principiante que PHP y C#. Permite al programador controlar más que C#. Algunas personas dicen que es más rápido que C#, mientras que otras personas no lo hacen. Aquí es donde, con suerte, estaré dentro de un año más o menos.

Dado que hay tantas carreteras como programadores en ciernes, estos pasos pueden no ser adecuados para usted. Sin embargo, con suerte, la lista anterior es, al menos, de cierta ayuda para usted cuando decide qué pasos debe seguir para alcanzar su objetivo.

Si sabe más sobre programación que yo y no está de acuerdo con la lista anterior, siéntase libre de proporcionar su propia lista. Si lo haces, creo que también deberías explicar por qué crees que tu lista es mejor.

+0

Cuando dice "Windows Forms", que son hablando de .NET, ¿correcto? Debería repetir su pregunta "C++ - cli" si ese es el caso. –

+0

No lo sé. Como dije, soy un principiante. Con "formularios de Windows" quiero decir botones, menús, etc., en los que puede hacer clic y obtener una respuesta, como hacer que todo el texto en un área de texto sea mayúscula o guardar un archivo. Quiero aprender cómo hacer tales cosas con C++. – matsolof

+1

Windows Forms es un contenedor .NET alrededor de la interfaz de usuario estándar de Windows. Si no está trabajando en .NET, generalmente usará la API de Win32 y GDI. (O tal vez Direct2D si está en Vista/Win7, según sus necesidades) – jalf

Respuesta

3

Charles Petzold escribió un libro sobre eso.

No lo he leído, pero su libro Win32 UI es ampliamente conocido como hilarante, por lo que se espera que sea bueno para los principiantes.

+0

AFAIK, Petzold escribió sobre las API nativas de Windows con C y C++, y un libro separado sobre Windows Forms con C#, pero no un libro que combine las dos. Esto es lo que observó el OP. –

+0

No quiero comprar un libro. Ya compré para muchos libros de computación, eso fue demasiado fácil o demasiado difícil. Estoy buscando un tutorial en línea. – matsolof

+1

Puede obtener un libro Petzold usado en Amazon por típicamente <$ 20. Eso es un robo teniendo en cuenta la gran cantidad de información. Yo era como tú en un momento dado: buscaba constantemente tutoriales sobre la construcción de GUI de Windows en C nativa. Finalmente obtuve "Programming Windows" y era lo que estaba buscando todo el tiempo. – brady

2

Como probablemente ya sepa por otras respuestas y comentarios, el término "Formularios de Windows" es el nombre para una tecnología .NET específica.

Parece que desea hacer una pregunta más a lo largo de la línea de cómo aprender a escribir programas de Windows que tienen una GUI (menús, botones, ventanas, etc.).

No hay una sola forma de escribir un programa de Windows. C++ en sí mismo no sabe nada sobre Windows. En cambio, terminará usando alguna API o marco. Entonces, lo que debe hacer es elegir cuál particular quiere usar y luego aprender eso.

  • En el nivel más bajo se encuentra la API de Windows sin formato. Sin embargo, es una interfaz tipo C muy y pocas personas podrían recomendar comenzando allí.
  • El marco basado en C++ de Microsoft para construir programas de Windows es MFC (Microsoft Foundation Classes). Fue creado mucho antes.NET y C++/CLI y tal. Al ser tan viejos, hay aspectos que no han podido cambiar para mantenerse a la altura de los tiempos, por lo que a algunas personas no les gusta. Pero todavía es compatible y utilizado. De hecho, si tiene una versión completa (no una versión expresa) de Visual Studio, entonces ya tiene MFC disponible.
  • Existen varios otros frameworks de C++ que han aparecido recientemente. Qt y WxWidgets son algunos de los nombres más grandes. Muchos de estos no solo te dan una manera de crear programas de Windows, sino que también intentan abstraer todos los detalles específicos del sistema operativo para que tu código pueda ser compilado para funcionar en otros sistemas operativos (como Linux o Mac) también. En mi opinión, a menudo es más agradable trabajar con MFC una vez que se aprende.
  • Aunque no es lo que estás pidiendo, mucha gente realmente recomendaría usar C# y .NET para hacer programas de GUI en Windows. Hay algunos aspectos agradables de ese lenguaje y marco que hacen que la programación de la GUI sea más fácil.

Así que probablemente necesite investigar un poco para determinar qué tecnología quiere aprender y usar realmente. Luego puede buscar los tutoriales apropiados.

+0

¡Gracias por los comentarios! No sabía que "Windows Forms" era el nombre para una tecnología .NET específica. Tu conjetura de que quiero aprender cómo escribir programas de Windows que tienen una GUI es correcta. Sé que C++ no sabe nada sobre Windows y que necesito usar alguna API o framework. Incluso sé sobre el resto de las tecnologías que mencionas (Windows API, MFC, .NET, C++/CLI, Qt, WxWidgets, C#). – matsolof

+0

He leído varios tutoriales en C++ y he estado experimentando mucho con la creación de formularios con Visual Studio 2008. El problema es que no he encontrado ningún tutorial más completo para principiantes sobre cómo combinar el código C++ con los formularios.Eso es lo que estoy buscando. – matsolof

+0

Recordé que la razón por la que quiero usar C++ es que se supone que es más rápido que C#. También recordé que he comprobado varios puntos de referencia de C++, C# y otros lenguajes de programación y que de acuerdo con estos puntos de referencia, C++ es el lenguaje informático más rápido que existe (además de Assembly, pero no estoy en condiciones de aprenderlo). – matsolof

0

Un hilo un poco viejo, pero esto es lo que podría posiblemente ser el reemplazo Petzold actualización: "Programación del sistema de Windows (4ª Edición) (Addison-Wesley Microsoft Tecnología de la serie)"

Cuestiones relacionadas