Utilice la programación Delphin para cambiar la resolución de la pantalla y cambiar entre monitores
Existe una correspondencia uno a uno entre el terminal de salida del portátil y la señal de salida de su pantalla. Cambiar la resolución de la pantalla del portátil cambia la resolución de visualización del terminal de salida.
Delphi proporciona funciones que pueden cambiar dinámicamente la resolución de la pantalla, a saber, EnumDisplaySettings() y ChangeDisplaySettings(). Con ellos, la resolución se puede cambiar en cualquier momento durante la programación para adaptarla a las necesidades.
La siguiente función CRTReset puede implementar fácilmente esta función:
implementación
función CRTReset(X, Y: Word): booleano
var
lpDevMode: TDeviceMode;
comenzar
Resultado: = EnumDisplaySettings(nil, 0, lpDevMode); //Obtener el modo de visualización
si el resultado luego comienza;
lpDevMode.dmFields := DM_PELSWID
TH O DM_PELSHEIGHT
lpDevMode.dmPelsWidth := X
lpDevMode.dmPelsHeight := Y; //Establece el ancho y alto de la pantalla
Resultado: = ChangeDisplaySettings(lpDevMode, 0) = DISP_CHANGE_SUCCESSFUL
//Cambia la resolución de la pantalla y regresa con éxito o no
finalizar;
finalizar
procedimiento TForm1.Button1Click(Remitente: TObject
comenzar
si CRTReset( 800, 600) luego ShowMessage('Ahora es 800*600'); //Llame a la función y establezca la resolución en 800×600
end
//Dinámicamente establecer la resolución
función DynamicResolution(x, y: WORD): Boolean
var
lpDevMode: TDeviceMode
comenzar
Resultado:= EnumDisplaySettings(nil, 0, lpDevMode);
si el resultado entonces
comienza
lpDevMode.dmFields:= DM_PELSWIDTH o DM_PELSHEIGHT;
lpDevMode.dmPelsWidth:= x;
lpDevMode.dmPelsHeight:= y
Resultado:= ChangeDisplayS
ajustes(lpDevMode, 0) = DISP_CHANGE_SUCCESSFUL;
fin
fin