Cómo crear software gráfico
Sobre este tema, si fuera hace diez años, habría muchas recomendaciones. En esta era, si no existen requisitos especiales de rendimiento, no se recomienda utilizar el lenguaje C para la programación de la GUI de Windows.
Las razones principales son las siguientes:
Los punteros y el mecanismo de administración de memoria del propio lenguaje C hacen que el programa sea propenso a errores y difícil de mantener.
Las características no orientadas a objetos del lenguaje C hacen que la legibilidad del código sea relativamente baja.
La programación de GUI en lenguaje C para Windows requiere llamadas directas a la API de Windows. Las diferencias causadas por los cambios en las versiones de Windows reducen la versatilidad del programa.
Ahora hay demasiados lenguajes y marcos disponibles que son fáciles de aprender, seguros, estables y rápidos de desarrollar.
Entonces, similar al C# mencionado en las respuestas existentes, o programación basada en el marco .Net (los lenguajes disponibles son,
C++, C#, F#.. .), se puede decir que es el método moderno de programación de interfaz de Windows recomendado por Microsoft. Sin embargo, dado que Visual
Studio es un software pago, la versión Express gratuita carece de algunas funciones. Si es un desarrollador respetuoso de la ley, también puede utilizar un lenguaje como Python con bibliotecas GUI como Gtk, Qt, wxWidget (wxPython) y otras bibliotecas GUI para el desarrollo.
Por otro lado, si quieres seguir luchando durante un tiempo en un lenguaje de alto nivel ligeramente inferior a la programación de interfaz gráfica, te recomiendo que aprendas C++. Después de aprender C ++, algunos programas antiguos de Windows pueden usar el marco MFC que alguien mencionó o la tecnología ATL introducida por Microsoft (nunca he usado esto). También existe C ++ administrado basado en el marco .Net (sin embargo, para ser honesto). (no es tan conveniente como usar C#). También puede elegir muchas bibliotecas de interfaz gráfica de terceros: Gtk,
Qt, wxWidget, etc., todas las que mencioné anteriormente tienen versiones compatibles con C++.
Si ve esto y aún insiste en abusar de sí mismo o autoentrenarse, si usa el lenguaje C para desarrollar la programación de la interfaz gráfica de Windows, debe leer el libro de programación de Windows recomendado por alguien arriba.
Personalmente creo que debemos prestar atención para entender los siguientes conceptos:
Ventana (Ventana) - La razón por la cual Windows se llama Windows es porque desde el concepto de programación, todo es Ventana .
Mensaje - Todas las respuestas al mouse, teclado, sistema, etc. se implementan a través de mensajes.
Bucle de mensajes (Message Loop): para decirlo sin rodeos, un programa de interfaz gráfica es un bucle infinito, que se repite constantemente para esperar a que se procesen varios mensajes. Este bucle infinito es el bucle de mensajes
.Clase (Clase de ventana): es diferente de la Clase orientada a objetos. Se utiliza para distinguir varias ventanas. Si desea mostrar su propia ventana, primero debe registrar una nueva Clase.
Manejar (manejar): no sé quién tiene el cerebro para traducir esto, así que no entendí su verdadero significado durante mucho tiempo. Para decirlo sin rodeos, es un poco similar a un puntero creado por uno mismo en Windows.
Comprenda estos conceptos
Después de comprender estos conceptos, aprender a consultar MSDN y acumular un cierto nivel de habilidades de programación en lenguaje C, no es imposible desarrollar maravillosos programas de interfaz gráfica de Windows. Pero hay que tener paciencia y afrontar una realidad: cuando escribes un programa, otros ya pueden escribir 4 o 5 programas similares a través de otros medios técnicos, y la interfaz puede ser más bonita y las funciones probablemente más potentes.
No sé si la respuesta anterior puede satisfacer tus necesidades. Ahora miraré tu otra pregunta.
Volver a
Para agregar que la mayoría de las bibliotecas de interfaz gráfica de terceros mencionadas anteriormente son multiplataforma. Después de dominarlo, puede escribir un programa y compilarlo en una versión de Windows en Windows, y compilarlo en una versión de sistema relacionada en sistemas similares a Unix (Linux, Unix, FreeBSD, etc.).
Por lo tanto, tiene una gama más amplia de aplicaciones que simplemente aprender a programar la interfaz de Windows. La desventaja es que
Debido a que tiene que cuidar varios sistemas, algunos efectos especiales exclusivos de Windows pueden ser difíciles de lograr.