Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Cambia la resolucion del monitor

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Tips & Tricks
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Cambia la resolucion del monitor Responder citando

HOLA:

Este truco sirve para cambiar la resolucion del monitor, 800x600, 1024x1280,etc

int NewResX = 1280; <-- nueva resolucion
int NewResY = 1024;

DEVMODE displaymode;
int indice = 0;
displaymode.dmSize = sizeof(DEVMODE);

while (EnumDisplaySettings(NULL, indice, &displaymode)) {
if (displaymode.dmPelsWidth == NewResX && displaymode.dmPelsHeight == NewResY) {
displaymode.dmFields = DM_PELSWIDTH | DM_PELSHEIGHT;
LONG result = ChangeDisplaySettings(&displaymode, CDS_TEST);
if (result == DISP_CHANGE_SUCCESSFUL) {
ChangeDisplaySettings(&displaymode, 0);
break;
}
}
indice++;
}


By.

Volver arriba
Mensaje    Asunto: Responder citando

Hola:

Podrian decirme como detectar la resolución que tiene la computadora al ejecutar el programa.

Debe ser algo similar a lo anterior, pero no lo se.

Gracias
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

Si te fijas en el código que ha colgado Toño, una de las preguntas quese hace es si la resolución actual es igual que la nueva:
Código:
if (displaymode.dmPelsWidth == NewResX && displaymode.dmPelsHeight == NewResY)

_________________
Un saludo

Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA)
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Claro Responder citando

Claro solo colocarias la resolucion que te interesa
por ejemplo:

if (displaymode.dmPelsWidth == 800 && displaymode.dmPelsHeight == 600) Application->MessageBox("Error resolucion no valida","Error",MB_OK+MB_ICONSTOP);
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: problema con la barra de herramientas Responder citando

Desde luego, el codigo funciona genial para cambiar la resolucion del
programa que se esta ejecutando, pero a mi , la barra
de herramientas se me queda a la resolucion anterior con lo que al
ampliarse la resolucion por ejemplo ( de 800 x 600 a 280 x 1024)
la barra que aparece se situa en mitad de la pantalla como si windows recordara su antigua ubicacion.

alguien sabe como correguir esto?

un saludo

david
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Pues va a ser que no. Laughing

Para saver el tipo de resolucion de tu monitor:


AnsiString ResolucionPantalla()
{
HDC Handle;
DWORD bitesPP, x, y;

Handle =GetDC(Application->Handle);
bitesPP = GetDeviceCaps(Handle, BITSPIXEL);//no es necesario,
// pero lo de dejo para otra historia.
x = GetDeviceCaps(Handle, HORZRES);
y = GetDeviceCaps(Handle, VERTRES);

ReleaseDC(Application->Handle, Handle);

return "Ancho " +(AnsiString) IntToStr(x)+"x"+ " Alto " + (AnsiString)IntToStr(y);

}
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.