Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2002.12.30;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





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


1-99112
Groove
2002-12-18 08:49
2002.12.30
TStringlist.SaveToFile _ чЁкаво?


3-98947
Анонимщик
2002-12-06 17:22
2002.12.30
Interbase, хранимая процедура, prompt


1-99126
Zergling
2002-12-18 11:23
2002.12.30
Подавить мерцание TGraphicControl


1-99158
drin
2002-12-18 00:54
2002.12.30
Создание класса





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский