¿Cómo aprender a programar? ¿Cuál es la diferencia entre VC y C?
En primer lugar, VC es un software (entorno de desarrollo integrado IDE) (compilación, edición, depuración)
C y C. Pero algunas funciones de C no se utilizan, como flujos de E/S y herencia polimórfica
WindowsSDK (herramientas de desarrollo de software)
El alma de VC: MFC (Biblioteca de clases básica de Microsoft)
ATL (Biblioteca de plantillas ActiveX)
Otros SDK, como OpenGL, DirectX, ActiveMoive, DrawDib(WinG)
VC se basa en muchas tecnologías en general , al igual que las 72 habilidades de Shaolin, generalmente es suficiente aprender solo algunas de ellas durante la aplicación. Nuestro objetivo actual es en realidad aprender un conjunto de Shaolin Changquan. Este conjunto de puños largos debe incluir:
1. Desarrollar un hábito de desarrollo de software riguroso y estar familiarizado con los principios básicos de la ingeniería de software.
2. Conceptos básicos del lenguaje C
3. El contenido más básico de C: los conceptos de clases, herencia, encapsulación y polimorfismo
4. para usar El asistente construye un marco de programa
5. Menú Diseño
6. Barra de herramientas de Diseño
7. Controles de cuadros de diálogo más utilizados: botones, texto estático, cuadros de edición, etc.
Sepa cómo crear nuevas clases, funciones miembro, variables miembro y funciones de procesamiento de mensajes.
9. Comprender los mensajes de Windows más utilizados: como WM_PAINT (redibujar ventana), presionar el mouse, rebotar, mover, cuadro de diálogo de inicialización, etc.
10. Comprenda la GDI (Interfaz de dispositivo gráfico) más simple: escriba texto, dibuje marcos, dibuje puntos, líneas, círculos y configure pinceles y pinceles.
11. Familiarizado con las clases MFC más utilizadas:
CWnd
CDocument
CView
CDC.
CDC
p>
CDialog
CWinApp
CGdiObject y subclases
CString, CPoint, CRect, CSize y otros tipos de datos simples
CFile
Los contenidos mencionados anteriormente son contenidos que todos usarán.
2. Introducción a MFC
Los contenidos principales anteriores están muy relacionados con el funcionamiento real y es imposible explicarlos claramente aquí; además, se analizarán en libros comunes; . Presentaré principalmente el MFC más importante.
MFC es una encapsulación de la API de Windows, lo que simplifica enormemente nuestro trabajo; aprender VC implica principalmente aprender MFC. Hay alrededor de 100 clases, pero solo 20 o 30 se usan comúnmente. Debes entender estas clases comunes como si memorizaras palabras de nivel 4; por supuesto, no las memorices de memoria. Debes aprenderlas leyendo ayuda, ejemplos y ejercicios prácticos. Además, no todas las funciones dentro de cada clase deben serlo. aprendidos, y deben aprenderse con el tiempo. Si realmente quieres convertirte en un maestro, hacer un cuaderno para anotar las clases y funciones que crees que son importantes y aprender en cualquier momento también es una buena forma de atacar.
A continuación se presenta el MFC más importante.
CWnd: Ventana, que es la clase principal de la mayoría de las "cosas visibles" (casi todo lo visible en Windows es una ventana y hay muchas ventanas pequeñas en una ventana grande), como Ver CView, marco ventana CFrameWnd, barra de herramientas CToolBar, cuadro de diálogo CDialog, botón CButton, etc. una excepción es que el menú (CMenu) no se deriva de la ventana. Esta categoría es enorme, por lo que no es necesario que la aprendas desde el principio, solo conócela.
CDocumento documento es responsable de la interacción entre los datos de la memoria y el disco.
Los más importantes son OnOpenDocument (lectura), OnSaveDocument (escritura en disco) y Serialize (lectura y escritura)
CView, que es responsable de la interacción entre los datos de la memoria y los usuarios. Incluyendo visualización de datos, respuesta de operación del usuario (como selección de menú, respuesta del mouse). Lo más importante es OnDraw (redibujar ventana), que normalmente se inicia con CWnd::Invalidate(). Además, maneja menús, barras de herramientas, teclas de acceso directo y otros mensajes de usuario a través de mapas de mensajes. Se le deben añadir muchas funciones propias, y es con la que más te ocupas.
Texto del dispositivo CDC. Ya sea un monitor o una impresora, dibujan imágenes para que las vea el usuario. Esta imagen está extraída de los CDC. CDC, junto con otros GDI (Graphics Device Interface), completa la visualización de texto, gráficos e imágenes. Piense en el CDC como una hoja de papel. Cada ventana está asociada con un CDC que es responsable de dibujar la ventana. CDC tiene una subclase común CClientDC (área de cliente de ventana), y el dibujo generalmente se completa a través de CClientDC.
Cuadro de diálogo CDialog
Clase de aplicación CWinApp. Similar a la función principal en C, es la entrada y administrador de la ejecución del programa, responsable de la creación y destrucción del programa y de la creación de la ventana principal y la plantilla del documento. La función más utilizada InitInstance(): inicialización.
CGdiObject y subclases, utilizados para dibujar imágenes en texto del dispositivo. Todos deben seleccionarse en el DC antes de su uso.
CPen lápiz, dibuja líneas
CBrush, rellena
CFont font, controla la fuente de salida de texto
CBitmap bitmap p>
p>
Paleta CPalette
Área CRgn, designa un área que se puede utilizar para procesamiento especial.
Archivo CFile. Los más importantes son Abrir, Leer y Escribir
Cadena CString. Encapsula la matriz de caracteres en C y es muy práctico.
CEl punto es (x, y) par
CEl rectángulo correcto es (izquierda, arriba, derecha, abajo)
CEl tamaño es (cx, cy) a (ancho, alto)
3. Haz buen uso de MSDN y ejemplos
Como mejora, los ejemplos recomendados son:
Hola es el programa más simple framework
nDibujo con ratón garabateado. Tutorial: Conceptos básicos de programación, GDI
nDiblook el ejemplo más simple de procesamiento de imágenes
nNavegador de Internet MFCIE
nRegistrar base de datos
nDaoviewDao (acceso a datos objeto) ejemplo. Controles de vista de árbol y columnas
nEjemplo de nCubeOpenGL, dibuja un cuadro giratorio
nServidor HierSvrOLE
nContenedor OclientOLE
nDibujo del mouse nDrawcli. También incluye OLE.
Tablero de escritura WordPad. OLE
Cuatro. Algunas experiencias
A. ¿Por qué usar Windows en lugar de la programación en DOS?
La programación en Windows no es mucho más difícil que la programación en DOS. Tengo tantas ideas y no sé por dónde empezar. De hecho, si conoce el lenguaje C, encontrará que programar en Windows no es más difícil que cuando aprendió el lenguaje C. Si desea convertirse en un maestro en programación de DOS, también necesita aprender cientos de funciones (ya sean TC, BC, MicrosoftC) y tener un conocimiento profundo de las llamadas a funciones de DOS en el nivel del lenguaje ensamblador. Pero ahora, en Windows, puede obtener beneficios varias veces mayores por la misma cantidad de trabajo.
Si antes estaba familiarizado con la programación de DOS y ahora se dedica a la programación de Windows, definitivamente sentirá la gran ventaja en solo dos semanas: en DOS, debe hacerlo todo usted mismo y también existen limitaciones como memoria de 64 K, precisión de visualización, etc. En realidad, es la mitad del resultado con el doble de esfuerzo.
B. ¿Por qué utilizar VC en lugar de otros lenguajes de programación de Windows?
nLa mayoría del software a gran escala (incluido el propio Windows) está compilado en C y C, por lo que las fuentes que pueden ser usado Hay mucho código. Por ejemplo, Photoshop tiene una interfaz de programación VC. Ningún otro idioma tiene ventajas históricas como VC. Además, existen muchas herramientas de desarrollo de VC, desde empresas de control hasta desarrolladores de hardware, sus productos rara vez se atreven a proporcionar interfaces de VC.
nVC es adecuado para organizar proyectos a gran escala (VB no es adecuado)
nBorlandC o C Builder también son muy buenos, no peores que VC. Sin embargo, la compatibilidad de la versión de BC no es buena y aparece una "brecha generacional" de 3.1 a 4.0. Además, VC proporciona documentos y ejemplos extremadamente ricos, y VC tiene muchos más materiales de referencia que BC. Y VC y otros miembros de Visual Studio pueden coordinar su trabajo, lo que resulta beneficioso para la ingeniería de software.
Para aprender VC, no debemos utilizar el método con el que aprendemos inglés en la escuela, sino el método que los niños aprenden a hablar. El llamado método de aprendizaje de inglés es la forma en que aprendimos el lenguaje C en nuestros estudios universitarios: comprendemos cada detalle en detalle, memorizamos una gran cantidad de reglas, rara vez practicamos en la computadora, no tenemos problemas prácticos que resolver y finalmente determinamos. los resultados del aprendizaje a través de exámenes. Todo el mundo conoce las consecuencias de este modelo: hemos estudiado inglés durante más de diez años, pero muchos de nosotros todavía sólo sabemos entre cuatro y cinco mil palabras, podemos escribir cientos de palabras y no podemos hablar ni escuchar. Lo que es especialmente terrible es que, No puedo entender la documentación de ayuda de VC. Debemos ser como bebés, aprendiendo gramática, retórica y vocabulario a través del uso; solo podemos inventar las peores cosas al principio, así como un niño solo puede decir: "Papá toma auto, auto" pero "papá", "; coche, coche", etc. Las palabras son lo que más necesitan los niños y su eficiencia de aprendizaje es la más alta. Al aprender VC, debo comenzar desde mis necesidades, primero hacer lo más simple y luego gradualmente volverme más complicado, como una bola de nieve.
Cuando aprendes VC, necesitas especialmente comunicarte con los demás. Si piensas mucho y no entiendes, es posible que otros lo hayan resuelto hace mucho tiempo. Debes ser bueno aprendiendo: busca libros útiles en la librería; aprende de los expertos que te rodean; busca códigos fuente, bibliotecas de clases, componentes, controles y bibliotecas que puedas usar; capaz de resolver los problemas aún más.