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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.06.2011, 09:48   #1
A-IX-2
Форумчанин
 
Аватар для A-IX-2
 
Регистрация: 08.10.2010
Сообщений: 101
По умолчанию Изменение положения компонента.

Всем доброго времени суток!
На форме есть GroupBox, положение которого при разворачивании формы на весь экран должно меняться. Если форма на весь экран, то Left=41, Top=433, если не на весь, то Left=441, Top=1. Пишу такой код, но почему-то правильно начинает работать только после того, как форму один раз развернуть:

Код:
procedure TForm1.FormResize(Sender: TObject);
begin
  If Form1.WindowState=wsMaximized then
  begin
    GroupBox1.Left:=41;
    GroupBox1.Top:=433;
  end
  else
  begin
    GroupBox1.Left:=441;
    GroupBox1.Top:=1;
  end;
end;
Подскажите, что делать, чтобы правильно работало?
Вложения
Тип файла: rar test.rar (5.6 Кб, 13 просмотров)
"Думаешь, будет трудно? Конечно, будет! Но, только закаляя дух, людьми становятся люди!"

Последний раз редактировалось A-IX-2; 18.06.2011 в 09:54.
A-IX-2 вне форума Ответить с цитированием
Старый 18.06.2011, 13:58   #2
dmitriegorovih
Ещё не
Форумчанин
 
Аватар для dmitriegorovih
 
Регистрация: 04.01.2010
Сообщений: 517
По умолчанию

Код:
    procedure wmloca(var msg:Tmessage); message WM_SYSCOMMAND;
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.wmloca(var msg: Tmessage);
begin
inherited;
if (Msg.wParam = windows.SC_MAXIMIZE) then
  begin
    GroupBox1.Left:=41;
    GroupBox1.Top:=433;
  end;
 if (Msg.wParam = windows.SC_RESTORE) then
  begin
    GroupBox1.Left:=441;
    GroupBox1.Top:=1;
  end;
end;
а если вот так
тока вы самого начало выведите GroupBox в положение нормальное
Воображение важнее, чем знания. (Albert Einstein)

Последний раз редактировалось dmitriegorovih; 18.06.2011 в 14:01.
dmitriegorovih вне форума Ответить с цитированием
Старый 18.06.2011, 14:05   #3
A-IX-2
Форумчанин
 
Аватар для A-IX-2
 
Регистрация: 08.10.2010
Сообщений: 101
По умолчанию

Цитата:
Сообщение от dmitriegorovih Посмотреть сообщение
Код:
    procedure wmloca(var msg:Tmessage); message WM_SYSCOMMAND;
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.wmloca(var msg: Tmessage);
begin
inherited;
if (Msg.wParam = windows.SC_MAXIMIZE) then
  begin
    GroupBox1.Left:=41;
    GroupBox1.Top:=433;
  end;
 if (Msg.wParam = windows.SC_RESTORE) then
  begin
    GroupBox1.Left:=441;
    GroupBox1.Top:=1;
  end;
end;
а если вот так
тока вы самого начало выведите GroupBox в положение нормальное
так работает, спасибо!
"Думаешь, будет трудно? Конечно, будет! Но, только закаляя дух, людьми становятся люди!"
A-IX-2 вне форума Ответить с цитированием
Старый 19.06.2011, 14:40   #4
HyperZen
Пользователь
 
Аватар для HyperZen
 
Регистрация: 20.07.2010
Сообщений: 45
По умолчанию

А можно и без кода прикрепив его при помощи Anchors: akRight, akBottom...
Плохого человека должно быть мало...
HyperZen вне форума Ответить с цитированием
Старый 19.06.2011, 15:21   #5
A-IX-2
Форумчанин
 
Аватар для A-IX-2
 
Регистрация: 08.10.2010
Сообщений: 101
По умолчанию

Цитата:
Сообщение от HyperZen Посмотреть сообщение
А можно и без кода прикрепив его при помощи Anchors: akRight, akBottom...
Мне нужно именно в определённом месте. Если через Anchors делать, не корректно получается.
"Думаешь, будет трудно? Конечно, будет! Но, только закаляя дух, людьми становятся люди!"

Последний раз редактировалось A-IX-2; 19.06.2011 в 15:27.
A-IX-2 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
изменение положения обекта по нажатию кнопки patch Общие вопросы Delphi 6 31.03.2011 00:37
Изменение размеров компонента Image Don Karleone Общие вопросы Delphi 19 14.03.2011 22:26
Определение размеров компонента и положения по хендлу Marsel737 Общие вопросы Delphi 10 03.05.2010 00:53
DSPack - изменение компонента dani92 Мультимедиа в Delphi 1 08.11.2009 19:26
Изменение положения трэка в TMediaPlayer SuperMooDuck Мультимедиа в Delphi 6 04.11.2007 18:44