Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.06.2013, 23:00   #1
Beginner94
Новичок
Джуниор
 
Регистрация: 08.06.2013
Сообщений: 2
По умолчанию Полноэкранный режим + разрешение экрана

Всем привет!
Разработал программу у себя на компе(разрешение экрана 1366х768) в полноэкранном режиме(свойство формы WindowState=WSMaximized). В программе присутствуют панели, имейджи, лейбелы и т.д. Запустив готовый скомпилированный экзешник на нетбуке(разрешение экрана 1024x600) почти половина программы не поместилась(не отобразилась) на экране нетбука. Как написать универсальную программу, которая бы нормально(во весь экран) отображалсь при любом разрешении экрана. Прогуглив инет и испробовав готовые коды, должного рез-та не добился. К примеру использовал след.код:
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, jpeg, ExtCtrls, StdCtrls;

type
  TForm1 = class(TForm)
    Panel1: TPanel;
    Image1: TImage;
    Image2: TImage;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

const
  ScreenWidth: Integer = 1366;
  ScreenHeight: Integer = 768;
  
var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var x, y: LongInt;
begin
Form1.WindowState:=wsMaximized;
Image1.Align:=alClient;
Image1.Stretch:=True;
{Image1.Proportional:=True;}

Image2.Align:=alClient;
Image2.Stretch:=True;
{Image2.Proportional:=True;}
scaled := true;
  x := getSystemMetrics(SM_CXSCREEN);
  y := getSystemMetrics(SM_CYSCREEN);
  if (x <> ScreenHeight) or (y <> ScreenWidth) then
  begin
    Form1.height := Form1.height * x div ScreenWidth;
    Form1.width := Form1.width * y div ScreenHeight;
  end;

 if x <> ScreenWidth then
    scaleBy(x, ScreenWidth);  
end;

end.
Результат таков, что титульный Image(который расположен на форме отображается нормально при любом разрешении экрана), а компонент Panel и Image(который расположен на панели) по ширине отображается нормально, а высота отображается НЕ нормально, а именно меньше чем должна быть,.
Приветствуются любая помощь или же советы. Заранее спасибо!
Beginner94 вне форума Ответить с цитированием
Старый 08.06.2013, 23:10   #2
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
ScreenWidth: Integer = 1366;
ScreenHeight: Integer = 768;
Косяк тут..

Нужно что бы
ScreenWidht был равен GetScreenWidht
и ScreenHeight был равен GetScreenHeight

Интересно, а можно сразу в const это прописать..
P.S. Если что, с Дельфи не знаком
Poma][a вне форума Ответить с цитированием
Старый 08.06.2013, 23:21   #3
Beginner94
Новичок
Джуниор
 
Регистрация: 08.06.2013
Сообщений: 2
По умолчанию

Код:
ScreenWidth: Integer = 1366;
ScreenHeight: Integer = 768;
Это разрешение экрана при котором я разрабатывал(моделировал, проектировал) приложение в Delphi, другими словами исходное разрешение.
Код:
x := getSystemMetrics(SM_CXSCREEN);
y := getSystemMetrics(SM_CYSCREEN);
А вот этот кусок кода определяет текущее разрешение экрана, если я не ошибаюсь. Забыл упомянуть, что я начинающий программист. Проверку приложения делал след.образом:
1) Компилировал приложение с вышеупомянутым кодом с разрешением экрана 1366х768.
2) Менял разрешение экрана на 800х600 и 1152х864, а потом запускал уже готовый скомпилированный exeшник. Результаты указал в 1-ом сообщении.
Beginner94 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
полноэкранный режим candalik Помощь студентам 4 17.12.2010 13:32
Полноэкранный режим Devoto Общие вопросы Delphi 4 05.12.2008 13:42
Полноэкранный режим Кронос Gamedev - cоздание игр: Unity, OpenGL, DirectX 1 26.08.2007 12:17
Полноэкранный режим mishel Общие вопросы Delphi 2 26.01.2007 02:31