Tutoriales

Trucos Visual C++ 6

En esta sección encontrarás trucos para Visual C++. También páginas de internet para que estudies tutoriales de Visual C++.

Guías para trucos de Visual C++

Links a páginas interesantes

CodeProject - http://www.codeproject.com/
Página en inglés para trucos de Visual C++, y muchos otros lenguajes de programación.

CodeGuru - http://www.codeguru.com
Igual en inglés, muchos trucos para programar en diversos lenguajes.

Sitio Visual C++ por Demian C. Panello - http://www.dcp.com.ar/
Este sitio está destinado al aprendizaje y divulgación del lenguaje C++, utilizando particularmente el entorno de Microsoft, Visual C++. Los contenidos que puedes encontrar aquí están en español, aunque a veces encontrarás algo en inglés.

Teach Yourself Visual C++ 6 in 21 Days - http://poincare.matf.bg.ac.yu/~filip/nm/Seminarski/VC-21days-short/index-1.htm
Versión ligera del libro de SAMS que incluye guías para aprender a usar Visual C++ 6.

Subforo de Programación en Visual C++ y C# (parte del Foro Todopic) - http://www.todopic.com.ar/foros/index.php?board=29.0
Foro en español en el que podrás subir tus dudas o ayudar con guías para estos lenguajes.




Incluir archivo GIF, JPEG o BMP en ventana de Visual C++ (ver. 6 en adelante)

Este truco fue tomado de la página siguiente.

http://www.codeguru.com/cpp/g-m/bitmap/article.php/c4879/

Los archivos necesarios están aquí.

Paquete para ejemplo GIF en VC++

- Insertar un control tipo picture a la ventana
- Cambiar la ID del objeto a la que uno quiera
- Asociarle una variable al control usando el Class Wizard
nombre: m_dibujo (o la que uno quiera)
categoría: control
tipo: CStatic
- Agregar los archivos PictureEx.h y PictureEx.cpp al proyecto
- Agregar un archivo GIF, JPEG o BMP
- En el archivo xxxdlg.h cambiar la variable de clase CStatic a:
CPictureEx m_dibujo;
- Incluir en los archivos xxxdlg.cpp y xxx.h
#include "PictureEx.h"
- En la función OnInitDialog poner:
if (m_dibujo.Load(_T("mypicture.gif")))
m_dibujo.Draw();



Reloj analógico en ventana Visual C++ (ver. 6 en adelante)

Si ya no quieren poner relojes de texto en sus aplicaciones, pueden poner uno así:



Necesitan los siguientes archivos:

Paquete para ejemplo Reloj Análogo en VC++


- Primero agreguen a su proyecto los archivos Clock.cpp y Clock.h
- Agreguen a la ventana un control Static que se llame IDC_CLOCK
- Créenle una variable miembro:
nombre: m_Clock
categoría: Control
tipo: CStatic
- Al archivo xxx.h de su aplicación agregar#include "Clock.h"
- Al archivo de su aplicación xxxdlg.cpp agregar#include "Clock.h"
- Cambiar la clase de la variable m_Clock de CStatic a CClock en el archivo xxxdlg.hCClock m_Clock;
- En el archivo xxxdlg.cpp, después de CDialog::OnInitDialog(); agregar:
//código del relojCOLORREF color;
color=RGB(0, 0, 255); //azul
m_Clock.SetHandColor(color);
- En el archivo Clock.cpp comentar o borrar la instrucción:
//#include "AnalogClock.h"

Y eso es todo. Al compilar verán el reloj funcionar. Para el tiempo se usa un timer; si se usa otro timer en la aplicación revisar el archivo clock.cpp para modificar lo necesario.

El código lo saqué de http://www.codeproject.com.

Estilo Windows XP en ventanas de Visual C++ (solo .NET )

Talvez cuando compilan programas en Visual C++ se dan cuenta de que los botones son aburridos:



Pueden cambiarlos para que se vean así:



Paquete para el ejemplo de Tema XP bajo Visual C++ .NET

- Esto sólo funciona en las versiones .NET.
- Primero descompriman los archivos en la carpeta de su proyecto.
- Luego en Explorador de Soluciones, den click derecho en Resource Files, Agregar, Agregar elemento existente...
- Agregan el archivo XPTheme.rc.
- Luego verifiquen que en el evento InitInstance esté la instrucciónInitCommonControls();al principio de la función, se ve así:
BOOL CCronoLinknppApp::InitInstance()
{
InitCommonControls();
......

Si marca un error con respecto a esa instrucción, no la agreguen. Ya cuando compilan su programa se verá con estilo Windows XP.

Ah y el archivo XPTheme.rc trae una referencia a un archivo llamado XPStyles.rc2 que no existe, tuve que comentar esa instrucción ya que no compilaría bien.

Puerto Paralelo y Visual C++

Esta es una guía sencilla sobre como usar el puerto paralelo en cualquier Windows, incluso el renegado XP. Funciona bajo Visual C++ 6 y .Net.

Para empezar comento que todo fue tomado de:

Autor: Fred Bulback
http://www.geekhideout.com/iodll.shtml

Visiten la página y descarguen los archivos io.cpp, io.dll, io.zip e io.h. A continuación los pasos a seguir.

- Crear una aplicación de diálogo de tipo MFC
- Importar archivos io.h en headers y io.cpp en source files usando la ventana Explorador de soluciones(descargarlos de la página de arriba)
- En el archivo xxxdlg.cpp agregar

#include "io.h"

- Abrir resource.h y agregar la dirección del puerto paralelo junto a las demás #define (para no declararla a cada rato)

#define PORTADDRESS 0x378

- Ir a InitDialog de xxxdlg.cpp y llamar LoadIODLL()

LoadIODLL(); //inicia puertos
PortOut(PORTADDRESS,0x00); //Las terminales de salida de 0x378 se pondrán a 0V

- Otro ejemplo:

PortOut(PORTADDRESS,0xff); //Las terminales de salida de 0x378 se pondrán a 5V

Las instrucciones disponibles para c++ son:

C/C++ Prototypes

void WINAPI PortOut(short int Port, char Data);
void WINAPI PortWordOut(short int Port, short int Data);
void WINAPI PortDWordOut(short int Port, int Data);
char WINAPI PortIn(short int Port);
short int WINAPI PortWordIn(short int Port);
int WINAPI PortDWordIn(short int Port);
void WINAPI SetPortBit(short int Port, char Bit);
void WINAPI ClrPortBit(short int Port, char Bit);
void WINAPI NotPortBit(short int Port, char Bit);
short int WINAPI GetPortBit(short int Port, char Bit);
short int WINAPI RightPortShift(short int Port, short int Val);
short int WINAPI LeftPortShift(short int Port, short int Val);
short int WINAPI IsDriverInstalled();

Bueno, así de fácil es controlarlo. Cabe mencionar que la librería io.dll sirve para visual basic, delphi y otros más.

Paquete para el ejemplo de Puerto Paralelo y Visual C++

(Descarga)