Ver Mensaje Individual
  #2  
Antiguo 09-11-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Reputación: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

No respondo a tu pregunta. Sin embargo, me parece que sería bueno conocer las resoluciones de pantalla disponibles, por si acaso tuviera algo que ver el problema conque tratemos de cambiar a una resolución, sencillamente, no disponible.

El siguiente código lo recogí "por ahí",... de veras no apunté de dónde y ahora no lo recuerdo. Necesitas un formulario, un botón, un "listbox" y un "edit".

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  DC: THandle;    // display context
  Bits: Integer;    // bits per pixel
  HRes: Integer;    // horizontal resolution
  VRes: Integer;    // vertical resolution
  DM: TDevMode;   // to Save EnumDisplaySettings
  ModeNum: Longint;    // video mode number
  Ok: Bool;
  fre: Integer;    // refresh rate
begin
  DC := GetDC(Handle);
  Bits := GetDeviceCaps(DC, BITSPIXEL);
  HRes := GetDeviceCaps(DC, HORZRES);
  VRes := GetDeviceCaps(DC, VERTRES);
  fre := GetDeviceCaps(DC, VREFRESH);
  // Show Current Resolution
  Edit1.Text := Format('%d bit, %d x %d', [Bits, HRes, VRes]);
  ReleaseDC(Handle, DC); // Show all modes available ModeNum := 0;  // The 1st one
  ModeNum := 0;
  EnumDisplaySettings(nil, ModeNum, DM);
  ListBox1.Items.Add(Format('%d bit, %d x %d bei %d Hz', [DM.dmBitsPerPel,
    DM.dmPelsWidth, DM.dmPelsHeight, Dm.dmDisplayFrequency]));
  Ok := True;
  while Ok do
  begin
    Inc(ModeNum); // Get next one
    Ok := EnumDisplaySettings(nil, ModeNum, DM);
    ListBox1.Items.Add(Format('%d bit, %d x %d bei %d Hz', [DM.dmBitsPerPel,
      DM.dmPelsWidth, DM.dmPelsHeight, Dm.dmDisplayFrequency]));
  end;
end;

En el "listbox" te aparecerá una lista con las resoluciones soportadas (o eso creo) y en el "edit" la que esté en uso. Siempre puedes adaptar el código más o menos según tus necesidades.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita