Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Расположение контролов с помощью Place...X...


Алексей К. ©   (2008-02-22 17:58:00) 

Здравствуйте!
Ситуация следующая:
нужно в 2 ряда расположить некоторое кол-во кнопок. Делаю так:

Buttons[1] := NewBitBtn(form, 'Some', [], glyphOver, 0, 0);
Buttons[2] := NewBitBtn(form, 'Some2', [], glyphOver, 0, 0);
Buttons[2].PlaceRight;
Buttons[3] := NewBitBtn(form, 'Some3', [], glyphOver, 0, 0);
Buttons[3].PlaceDown;

кнопки располагаются так:

[Some ][Some2]
[Some3]


Всё правильно (как и написано в документации)

Такой вопрос.
Можно-ли с помощью ф-й Place... разместить контролы так:

[Some ][Some2]
      [Some3]

т.е. распологать относительно последненго созданного контрола, а не относительно первого.

ЗЫ
Я могу написать ф-ию, которая будет это делать, но решил узнать, стандартными ср-вами KOL это предусмотренно?


Алексей К.   (2008-02-23 13:30:00) [1]

ухты!
Спасибо, Владимир!

ЗЫ
Интересная особенность, программировать с KOL мне намного более комфортно, чем с VCL (дело даже не в размерах файла ;))... =)


Vladimir Kladov   (2008-02-23 11:59:00) [2]

Можно и в 1 строку :
btn6 := NewBitBtn(form, 'button6', [], glyphOver, 0, 0).PlaceDown;


Алексей К.   (2008-02-23 09:36:00) [3]

по поводу этой темы, легко разобраться на следующем примере (думаю, кому-нить пригодится):


program M3M;

uses
 Windows,
 Messages,
 Kol;

var
 form, btn1, btn2, btn3, btn4, btn5, btn6: PControl;

begin
 form := NewForm(Applet, 'Test');

 btn1 := NewBitBtn(form, 'button1', [], glyphOver, 0, 0);

 btn2 := NewBitBtn(form, 'button2', [], glyphOver, 0, 0);
 btn2.PlaceDown;

 btn3 := NewBitBtn(form, 'button3', [], glyphOver, 0, 0);
 btn3.PlaceRight;

 btn4 := NewBitBtn(form, 'button4', [], glyphOver, 0, 0);
 btn4.PlaceUnder;

 btn5 := NewBitBtn(form, 'button5', [], glyphOver, 0, 0);
 btn5.PlaceRight;

 btn6 := NewBitBtn(form, 'button6', [], glyphOver, 0, 0);
 btn6.PlaceDown;

 Run(form);
end.


Алексей К.   (2008-02-23 09:01:00) [4]

насколько я проверял - это так =)


ANTPro   (2008-02-23 00:29:00) [5]

> [2] Алексей К.   (22.02.08 20:27)

Просто проверь :о)


Алексей К.   (2008-02-22 20:27:00) [6]

спасибо!

как я понял, PlaceUnder размещает контрол ниже последненго размещенногои в один ряд с ним, а PlaceDown ниже последненго размещенногои в один ряд с первым...

Я прав?


Jon   (2008-02-22 18:40:00) [7]

 Buttons[3].PlaceUnder;

or

 Buttons[3].PlaceDown;
 Buttons[3].Left := Buttons[2].Left;


Наверх

Титульная страница Поиск, карта сайта Написать письмо