BUSCAR EN PREGUNTAS Y RESPUESTAS

 Se han encontrado 2654 coincidencias.<<  >> 

C/Visual C
    Pregunta:  22115 - COMO ELIMINAR CONTROLES(STATIC TEXT ) EN TIEMPO DE EJECUCION
Autor:  Roberto Garcia
Como puedo eliminar o agregar controles en tiempo de ejecucion ya sea un static text o un edit box, en tiempo de ejecucion. en Embedded Visual C++. Quisiera saber si alguien puede ayudarme con esta duda.
Si por alguna razon no se puede, o si ya existe mi pregunta, por favor enviaenme un mail.
Gracias, atentamente Roberto Garcia
  Respuesta:  Ramon Sala
Hola Roberto,

Para destruir cualquier tipo de ventana (un control también lo es) en tiempo de ejecución, debes utilizar la función de API "DestroyWindow". Esa función sólo tiene un parámetro y es el "handle" de la ventana (o control que quieres destruir. Contrariamente, para crearlos, remítete a la función "CreateWindow". En la ayuda de Visual C++ encontrarás los parámetros necesarios.

Espero haberte ayudado.

Saludos.

    Pregunta:  22152 - ¿COMO SABER LA RAPIDEZ DE UN CD-ROM
Autor:  carlos hernandez huerta
necesito saber la rapidez de un cd-rom, la del fabricante y la real, aprovechando como saber la rapidez del modem, si es posible en visual c o similar.
  Respuesta:  David Cañadas
Hola.

La velocidad del fabricante ni idea. En todo caso puedes hacerlo a partir de benchmarks que comparen la velocidad real de la unidad analizada con otras pruebas que tengas hechas en otras unidades.

La velocidad real es sencillo. Pon a funcionar el cdrom leyendo un archivo cualquiera, para que el motor se ponga a funcionar y la lente esté activa. En ese momento, lee la longitud de un fichero y cárgalo a memoria. Divide el nº de kb del fichero por el tiempo en segundos y voilá.

De todas formas todo esto es muy relativo. Los fabricantes mienten y las unidades de CD-ROM no siempre responden del mismo modo ante la misma orden. Por último, altamente recomendable que cuando hagas estas pruebas tu programa esté bajo DOS, o bien que no existan procesos en Windows que puedan necesitar el CD-ROM, porque en ese caso las lecturas saldrían erróneas.

Salu2.

    Pregunta:  22282 - COMO INSTALAR OPENGL EN BORLAND C++
Autor:  Javier
Quiero saber como se implementan o instalan las librerias de OpenGl en Borlnad C++ 3.0 o sino en MS Visual C++
  Respuesta:  Dwarf
Tienes un componente para utilizar las OpenGL. Se llama OpenGLAPanel y lo puedes descargar en http://www.ap.dyndns.dk/opengl.htm
Espero que te sirva

    Pregunta:  22464 - LLAMAR A UN ACTIVE X DLL DE VISUAL BASIC DESDE UNA DLL EN C
Autor:  Miguel Angel Cortes Diaz
Hola a tod@s! Tengo una Dll Acive X desarrollada con Visual Basic 6.0 a la que necesitan acceder desde un programa C consola, de tal manera, que no permite instanciar controles Active X, pero sí hacer llamadas a Dll's.
Había pensado montar una Dll Windows32 (no Dll MFC) que instancie el control, llame a los métodos de este, y retorne el resultado a través del punto de entrada de la Dll.
Quisiera saber si esto es posible, y de ser así, como hacerlo. Porque lo que he conseguido hacer es una Dll MFC y utilizar el Wizard para instanciar el control, pero esto me da luego problemas al compilar el programa y creo que es porque la Dll tiene que ser Windows32 y no MFC.
Gracias anticipadas.!!!
  Respuesta:  Javier Muñoz
Hola Miguel.
Es totalmente posible acceder una libreria ActiveX desde un programa consola, solo que necesitas usar un poco de C++ y las librerias COM.
Los objetos ActiveX son un subset de las librerias COM de windows (con COM me refiero a las tecnologias DCOM y COM+ tambien).
Me imagino que estas usando Visual C++ (por tus comentarios acerca de MFC) lo que hace muy facil el trabajo. Lo que tienes que hacer es utilizar el la directiva de preprocesador propietaria de Microsoft "#import"
busca en google para que sepas como se usa (ejem: #import "c:\WINDOWS\system32\WINHTTP5.DLL"). Añades tus cabezeras "windows.h" y preparate a usar COM.
La directiva #import creara por ti los archivos de cabezera necesarios para usar la libreria (a partir de los Typelibs), por lo que luego puedes incluirlas directamente y eliminar la directiva #import si quieres desligar la estructura de directorio (el C:\Windows... etc..)

Lo primero que debes hacer para usar COM es iniciar la libreria con la funcion, ::CoInitialize();
Luego creas instancias de los objetos llamado la funcion:
::CoCreateInstance(...);
Y terminas el programa con una llamada a:
::CoUnintialize();
.. para limpiar todo.

te recomiendo que busques tutoriales y/o informacion acerca del COM. Es muy util saber esto sobre todo cuando usas VB para programar. Es muy util para crear librerias COM en C++ para las cosas de bajo nivel y utilizarlas desde VB para el UI y demas operaciones comunes.

Otro dato importante es que trates siempre de utilizar SmartPointers (lo veras en los tutoriales de COM, es casi el standart-de-facto) y maneja todo tu codigo COM dentro de una estructura de manejo de Excepciones tipo try-catch (mucho mas facil que el manejo tipo C de los ejemplos M$).

Hay 2 libros muy buenos sobre la materia, uno es "C++ for VB Programmers" por Jonathan Morrison (ISBN 1-893115-76-3) excelente para todos los aspectos de la integracion entre VB y C++, y el otro el "INSIDE COM" por Microsoft Press, que considero como la Biblia del COM.

Mucha suerte. Javier

    Pregunta:  22562 - BITMAP DESDE UN RECURSO EN VISUAL C++
Autor:  Maria Encarnacion Navarro Gomez
Hola a todos,
Estoy intentando pegar un Bitmap a un documento para luego imprimirlo, el documento esta creado y ya funciona pero intento insertar el bitmap y me da errores. La implementacion que utilizo es la siguiente:

void PrintBitmap (CDC* pDC)
{
CDC* pDisplayMemDC = new CDC;
Cbitmap* pBitmap = new Cbitmap;
PBitmap->LoadBitmap(IDB_LEAVES);
PDisplayMemDC->CreateCompatibleDC(pDC);
Cbitmap* pOldBitmap = (Cbitmap*)
PDisplayMemDC->SelectObject (pBitmap);
PDC-> BitBlt (100,100,200,150, pDisplayMemDC, 0, 0, SRCCOPY);
Delete pDisplayMemDC->SelectObject (pOldBitmap);
Delete pDisplayMemDC;
}

En todo el documento trabajo con el manejador tipo HDC y en este caso trabajo con la clase CDC, no se como arreglarlo. Al compilar me dice que CDC, Cbitmap, etc. no existe.
Muchas gracias.
Mari

  Respuesta:  Alvaro Salvatierra Salas
Hola Mari
Te indico el código necesario para insertar un mapa de bits en el área cliente de una aplicación Visual C, como respuesta a un click en el menu

1.- el proyecto consta de 4 archivos: bitmap.h , resource.h , bitmap.rc y bitmap.cpp

2.- lineas a agregar en bitmap.rc ( se supone que está definido un recurso MENU):
MENUITEM "Insertar Bitmap" IDM_INSBM
IDR_BM1 BITMAP "C:\\MISDOC\\ARCHIVO.BMP"

3.- incluir esta linea en resource.h
#define IDM_INSBM 103 // u otro numero vacante

4.- en archivo bitmap.h, donde se definen las clases ,agregar las siguientes lineas en la definición de clase de ventana CMainWin:
CBitmap m_bm1;
afx_msg void OnInsertBM() // manejador de mensaje

5.- en archivo bitmap.cpp incluir:
#include <afxwin.h> // para usar clases MFC: CDC, CBitmap, etc
#include "bitmap.h"
#include "resource.h"
ON_COMMAND (IDM_INSBM , OnInsertBM) // esta linea dentro del mapa de mensajes.
afx_msg void CMainWin::OnInsertBM() // def. de funcion
{
m_bm1.LoadBitmap(" IDR_BM1") ;
CClientDC DC(this);
CDC memDC ;
memDC. CreateCompatibleDC ( &DC) ;
memDC. SelectObject ( & m_bm1) ;
DC. BitBlt ( 10 , 10, 64 , 64 , &memDC , 0 , 0 , SRCCOPY );
}

(Nota: El contenido de la ventana se pierde al minimizar y restaurar la ventana. Para solucionar eso se debe usar ventana virtual y copiarla a la ventana física cada vez que se reciba mensaje WM_PAINT )
Espero que el ejemplo te sea de utilidad.
Saludos.


    Pregunta:  22846 - COMO AGREGAR UN DIA A LA FECHA ACTUAL
Autor:  Roberto Garcia
Como agregar un dia a la fecha actual, sin el uso de clases.
Existe alguna funcion en Visual C++ ?
  Respuesta:  Javier Allende
q es ño q kieres realmente hacer pq no pruebas con la funcion getdate de la libreria dos.h de alli sacas la fecha del sistema pero pa modificarla no se si puedes usar la funcion settime

    Pregunta:  23443 - DUDA SOBRE DLL EN VISUAL C++
Autor:  Camilo Lobos
Tengo una duda, ya que construí una dll en Visual C++ y no la podía registrar (regsvr32.exe) al igual que una dll hecha en Visual Basic.
Sólo la copia al windows/system y la llame. Mi pregunta es :
¿Por qué las dll de Visual C++ no se registran o se deben registrar de otra manera?
  Respuesta:  Marco
que se registren, quiere decir que se actualiza el registro de windows para dicha dll. En el registro de windows, aparecen datos como cuantos programas tienen acceso a esa dll, eso es asi, porque cuando desinstalas, windows consulta si otro programa la utiliza y si es asi, no la borrar

Saludos!

    Pregunta:  24413 - PROGRAMACION PARA PUERTO USB
Autor:  Eddy Eduardo Ponguillo Intriago
Cómo puedo crear una aplicación en visual C, para manejar puerto usb. Deseo transmitir datos y no lo puedo hacer en puertos paralelos o seriales, ya que la velocidad de estos últimos es ineficiente para el proyecto que tengo en mente. El problema mío es que no sé cómo manejar el puerto usb, con estos lenguajes.
  Respuesta:  Rommel Medina
Todo lo que necesitas esta en usb.org ya que el usb no es solo un puerto como el serial o paralelo.

    Pregunta:  24445 - HACER CURSOR NO VISIBLE
Autor:  Juanjo Alonso
En una aplicacion de tipo consola necesito hacer que el cursor desaparezca:

En el compilador de Borland existe la funcion _setcursortype(...) para conseguir borrar el cursor de la pantalla. ¿Y en microsoft? Estoy usando este compilador y no encuentro nada parecido. Mi pregunta es si existe alguna funcion o algo (c/c++) en el de microsoft que lo haga.

He probado a utilizar la int 10h (funcion 01h) dando valores fuera de rango y no funciona; como era de esperar el entorno visual c++ no responde pero esto no pasa si hago lo mismo en el compilador de borland.
Muchas gracias
  Respuesta:  José Pérez
Lo primero que debería decir es que no es muy recomendable crear aplicaciones de tipo consola en Visual C, por varias razones:

Porque no son aplicaciones Dos reales (sólo funcionarán en modo Dos dentro de Windows) y porque el uso de la memoria, recursos, etc realmente son de Windows, no Dos. Tampoco se podrán manejar modelos de memoria ni habrá diferenciación entre punteros far y near y muchas funciones y palabras clave habituales en la programación Dos las considerará obsoletas y las mostrará como erróneas.

A pesar de todo, si quieres seguir adelante, la siguiente rutina funcionará en cualquier compilador de C/C++ posterior a 1990:

void mostrar_cursor (boolean i)
{
if (i == false)
{
_asm {
mov cx, 0x2000;
mov ah, 0x01;
int 0x10;
}

}
else
{
_asm {
mov ch, 6;
mov cl, 7;
mov ah, 0x001;
int 0x10;
}
}
}

    Pregunta:  25374 - COMO PUEDO LEER LAS TECLAS OPRIMIDAS EN UNA CESION
Autor:  veronica ambriz
BUSCO LA FORMA DE LEER Y REGISTRAR LAS TECLAS QUE SE OPRIMIERON DURANTE UN LAPSO DE TIEMPO EN UNA COMPUTADORA EN LENGUAJE VISUAL C++
LO HE INTENTADO MEDIANTE HILOS PERO SE BLOQUEA
( CON LA INSTRUCCION AFXBEGINTHREAD)
GRACIAS POR SU AYUDA
  Respuesta:  Esteban F.B.
Yo lo intentaría con cilclos anidados y con las funciones kbhit() y getch();
kbhit() puede sacar del ciclo cuando se presione una tecla y getch() la puede registrar en una variable, haz una variable "contador" y usa la secuencia <fflush(stdin)> para que pueda volver a leer un carecter...

Espero y te sirva

|<  <<  21 22 23 24 25 26 27 28 29 30 31  >>  >|