Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.30;
Скачать: CL | DM;

Вниз

Разрешение экрана   Найти похожие ветки 

 
Andrei1982   (2002-09-26 04:24) [0]

Занимаясь дипломным проэктом, написал программу по изучения протокола передачи пакетов Х.25 - своего рода наглядная лабораторная работа.
Возникла проблемма: "На машинах, где разрешение менее 1024/768 программой не удобно пользоваться".
Посоветййте как можно справиться с этим не прибегая к громоздкой подстройке размеров всех форм и элементов управления под разрешение экрана.

Заранее спасибо. Davydov Andrei (ALF)


 
МИФИст ©   (2002-09-26 11:35) [1]

при запуске программы меняй разрешение, при выходе возвращай назад =)
или выкидывай табличку что программа должна работать при таком то разрешении =)


 
Nick N A   (2002-10-26 07:09) [2]

unit vmode;

interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Spin;

const MaxVideoModes = 200; // это не очень актуально
type TVideoMode = record

Width,
Height,
ColorDepth : Word;
Description : String[20];
end;

var VideoModes : array[0..MaxVideoModes] of TVideoMode;

NumberVideomodes : Integer = 1;
ScreenModeChanged:boolean;
type
TForm1 = class(TForm)
SpinEdit1: TSpinEdit;
Button1: TButton;
SpinEdit2: TSpinEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
var ModeIndex: Integer;
DeviceMode : TDevMode;
Result:boolean;
begin
mODEiNDEX:=sPINeDIT1.Value;
with DeviceMode do
begin
dmSize:=SizeOf(DeviceMode);
dmBitsPerPel:=16;//VideoModes[ModeIndex].ColorDepth;
dmPelsWidth:=Spinedit1.Value;//VideoModes[ModeIndex].Width;
dmPelsHeight:=Spinedit2.Value;//VideoModes[ModeIndex].Height;
dmFields:=DM_BITSPERPEL or DM_PELSWIDTH or DM_PELSHEIGHT;
// при неудачной смене режима переходим в режим текущего разрешения
Result:=(ChangeDisplaySettings(DeviceMode,CDS_FULLSCREEN) = DISP_CHANGE_SUCCESSFUL);
if Result then ScreenModeChanged:=True;
if ModeIndex = 0 then ScreenModeChanged:=False;
end;
end;

end.

Удачи



Страницы: 1 вся ветка

Текущий архив: 2002.12.30;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.025 c
1-99142
Berg
2002-12-18 14:30
2002.12.30
Глупый вопрос, наверно......


3-98974
EAlexander
2002-12-09 16:41
2002.12.30
Oracle Unwrap :)


8-99209
Карелин Артем
2002-09-06 10:51
2002.12.30
Работа с обьектом 3D Max


4-99403
Arkan
2002-11-12 18:50
2002.12.30
Посылка строки с переходом на следующую строку!


6-99242
LORD
2002-11-01 20:05
2002.12.30
tstringlist + clientsocket = error