Miércoles 20 de Noviembre de 2024, 12:42
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
C/C++
(Moderador:
Eternal Idol
) »
Modo De Video
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Modo De Video (Leído 1887 veces)
JuanK
Miembro de ORO
Mensajes: 5393
Nacionalidad:
Modo De Video
«
en:
Lunes 26 de Enero de 2004, 06:37 »
0
Saludos..
estoy haciendo un ejercicio de programacion de lenguaje c,
el problema es que estoy utilizando funciones que solia utilizar para cambiar el modo de video, estas usaban la dos.h.. bien esta libreria ya no existe o mejor ya no funciona para programar en windows xp asi que tambien tenia de hace ya unos años una funcion que hice en assembler que hacia lo mismo , pero no me funciona tampoco..
solo me han funcionado utilizando el compilador DJGPP porque emula el entorno del dos.. pero al compilarlo en visual studio no me funcionan :'(
alguien sabe como hacer para cambiar el modo de video en lenguaje c, utilizando visual studio.net y sin utilizar librerias como allegro o directX... ?'
es decir
alguien sabe como ouedo hacer esto con codigo de bajo nivel...??
cabe aclarar que utilizo windows xp professional.
agradezco cualquier ayuda.
gracias
Tweet
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io
JuanK
Miembro de ORO
Mensajes: 5393
Nacionalidad:
Re: Modo De Video
«
Respuesta #1 en:
Miércoles 28 de Enero de 2004, 03:33 »
0
bueno ..
creo que se debe poder con la api de windows...
ya veremos..
siono con el ddkl de microsoft aunqeu eso implicaria hacer mi propio driver... :@
sigo aceptando ideas... please...
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io
JuanK
Miembro de ORO
Mensajes: 5393
Nacionalidad:
Re: Modo De Video
«
Respuesta #2 en:
Miércoles 28 de Enero de 2004, 06:18 »
0
solucion:
si a travez de la api de windows utilizando gdi
ya he investigado suficiente asi que hasta mañana muchachos
ya no se usa la dos.h pero si windows.h(winapi) alli estan las herramientas que necesito para utilizar los recursos de la maquina.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io
JuanK
Miembro de ORO
Mensajes: 5393
Nacionalidad:
Re: Modo De Video
«
Respuesta #3 en:
Martes 3 de Febrero de 2004, 20:27 »
0
bueno, caeria bien que de vez en cuando alguien me ayudara a mi!!!
bueno ya investigue bastantede gdi y de la api de windows, pero no me gusto mucho trabajar asi el modo grafico... es muy 'feo' de usar, aqui un pequeño ejemplo de tantos que hice:
más abajo esta el ejecutable
Código: Text
#include<stdio.h>
#include<windows.h>
int WINAPI WinMain( HINSTANCE, HINSTANCE, LPSTR, int );
LRESULT CALLBACK WndProc( HWND, UINT, WPARAM, LPARAM );
int makeAllScreenWindow(HWND , HINSTANCE , int );
char WindowName[] = "Bitmap";
char WindowTitle[] = "Bitmap";
int x=10, y=10, Hres, Vres, speedy=5, speedx=10;
HDC hdc, hdcMem, hdcMemBackUp;
HGDIOBJ hbm,hbmBK;
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow )
{
MSG msg;
HWND hwnd=NULL;
makeAllScreenWindow(hwnd,hInstance,nCmdShow );
hdc = CreateDC( "DISPLAY", NULL, NULL, NULL );
Hres=GetDeviceCaps(hdc, HORZRES);
Vres=GetDeviceCaps(hdc, VERTRES);
hdcMem = CreateCompatibleDC(hdc);
hdcMemBackUp = CreateCompatibleDC(hdc);
hbm = CreateCompatibleBitmap(hdc, Hres, Vres);
hbmBK = CreateCompatibleBitmap(hdc, Hres, Vres);
SelectObject(hdcMemBackUp, hbmBK);
SelectObject(hdcMem, hbm);
BitBlt(hdcMemBackUp,0,0,Hres, Vres , hdc, 0,0, SRCCOPY);
while( GetMessage( &msg, NULL, 0, 0 ) )
{
TranslateMessage( &msg );
DispatchMessage( &msg );
}
BitBlt(hdc,0,0,Hres, Vres , hdcMemBackUp, 0,0, SRCCOPY);
DeleteDC( hdcMemBackUp );
DeleteDC( hdcMem );
DeleteDC( hdc );
return( msg.wParam );
}
LRESULT CALLBACK WndProc( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam )
{
switch( message )
{
case WM_PAINT:
TextOut( hdcMem, 0, 0, "Ejemplo GDI, presione escape para salir",39);
Rectangle (hdcMem,x,y,x+100,y+100);
if(x+100>Hres)
speedx*=(-1);
if(y+100>Vres)
speedy*=(-1);
if(x<=0)
speedx*=(-1);
if(y<=0)
speedy*=(-1);
x+=speedx;
y+=speedy;
if(!BitBlt(hdc,0,0, Hres, Vres, hdcMem, 0,0, SRCCOPY))
TextOut( hdc, 0, 0, "Fallo al escribiir en hdc desde hdcmem",33);
break;
case WM_KEYDOWN:
switch(wParam)
{
case VK_ESCAPE:
DestroyWindow( hwnd );
break;
default:
break;
}
break;
case WM_DESTROY:
PostQuitMessage( 0 );
break;
default:
return( DefWindowProc( hwnd, message, wParam, lParam ) );
}
return(0);
}
int makeAllScreenWindow(HWND hwnd, HINSTANCE hInstance, int nCmdShow)
{
WNDCLASSEX wcx;
wcx.cbSize = sizeof( WNDCLASSEX );
wcx.style = CS_HREDRAW | CS_VREDRAW;
wcx.lpfnWndProc = WndProc;
wcx.cbClsExtra = 0;
wcx.cbWndExtra = 0;
wcx.hInstance = hInstance;
wcx.hIcon = LoadIcon(NULL, IDI_WINLOGO);
wcx.hCursor = LoadCursor(NULL, IDC_ARROW);
wcx.hbrBackground = (HBRUSH) GetStockObject( WHITE_BRUSH );
wcx.hIconSm = LoadIcon(NULL, IDI_WINLOGO);
wcx.lpszClassName = WindowName;
wcx.lpszMenuName = NULL;
if( !RegisterClassEx( &wcx ) )
return( FALSE );
hwnd = CreateWindowEx(
WS_EX_OVERLAPPEDWINDOW,
WindowName, WindowTitle,
WS_POPUP ,
0, 0,1, 1, NULL, NULL,
hInstance, NULL);
if( !hwnd )
return( FALSE );
ShowWindow( hwnd, nCmdShow );
return TRUE;
}
El mensaje contiene
1 archivo adjunto
. Debes
ingresar
o
registrarte
para poder verlo y descargarlo.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io
QliX=D!
Miembro MUY activo
Mensajes: 214
Re: Modo De Video
«
Respuesta #4 en:
Miércoles 4 de Febrero de 2004, 20:15 »
0
Feo en qeu sentido JK? perdon por no haberte respondido antes
QliX=D! - From the top of Tsunami
JuanK
Miembro de ORO
Mensajes: 5393
Nacionalidad:
Re: Modo De Video
«
Respuesta #5 en:
Jueves 5 de Febrero de 2004, 04:40 »
0
Me parece aburrido de programar..
demasiadas vueltas para algo tan sencillo.. es mas me parece que los programas pierden su logica habitual para convertirce enun ciclo de mensajes..
mejor dicho se vuelve orientado a objetos pero por debajo
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io
© Jonathan ©
Moderador
Mensajes: 1671
Nacionalidad:
Re: Modo De Video
«
Respuesta #6 en:
Viernes 6 de Febrero de 2004, 02:59 »
0
Muy bueno lo que has hecho y un poco imposible lo que pides...como podriamos ayudarte siendo que eres una maquina de pensar???
. Saludos y suerte
EINSTEC Tecnología
«La única fuente del conocimiento es la experiencia.»
«Lo importante es no dejar de hacerse preguntas.»
MByte
Nuevo Miembro
Mensajes: 5
Re: Modo De Video
«
Respuesta #7 en:
Viernes 6 de Febrero de 2004, 07:54 »
0
Hola a todos.............. Yo difiero un poco en lo que dices que es aburrido....creo que no hay mejor cosa que programar de este modo.......alomejor no piensas al igual que yo que la esencia de la programacion es programar en bruto....nose un ejemplo puede ser como ASM pero es muy extremo(pero no deja de ser bueno y bonito)....hablando de una programacion un poco mas tangible no tan abstracta creo que programar usando API es lo mas entretenido....tu prefieres mas la programacion de alto nivel(hablando en nivel de facilidad) como MFC que cada dia se parece mas a Visual Basic el entorno de trabajo(pero claro nunca se compararian).........................
jejeje disculpen si me extendi un poquito lo que pasa que soy un amante de la programacion en la cual tu puedes hacer todo lo que se te ocurra mediante codigo y nada mas que codigo sin usas herramientas de programacion mas que las que te brinda el sistema ya sea WINDOWS O LINUX, ETC.... por esto mismo odio la MFC aunque uno tiende a caer por la fuerza en programar con esta......
a todo esto esta bueno el codigo que mandaste juank..... y si has visto mi pregunta sobre los controles OCX sin usar MFC, me gustaria saber que opinas o sabes al respecto...... nos vemos
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
C/C++
(Moderador:
Eternal Idol
) »
Modo De Video