Главная страница
    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.45 MB
Время: 0.009 c
1-99172
AngeL B.
2002-12-18 17:20
2002.12.30
окна на таскбаре


1-99190
harismatik
2002-12-18 19:20
2002.12.30
Путь к ветке дерева


4-99419
Griffin
2002-11-15 23:05
2002.12.30
Передача сообщений от мыши другому окну


1-99143
Palladin
2002-12-16 22:00
2002.12.30
Подскажите. Как с BlockWrite использовать с динамическим массивом


1-99182
viper
2002-12-19 09:16
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский