-
Здравствуйте! Ситуация следующая: нужно в 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 это предусмотренно?
-
Buttons[3].PlaceUnder; or Buttons[3].PlaceDown;
Buttons[3].Left := Buttons[2].Left;
-
спасибо!
как я понял, PlaceUnder размещает контрол ниже последненго размещенного и в один ряд с ним, а PlaceDown ниже последненго размещенного и в один ряд с первым...
Я прав?
-
> [2] Алексей К. (22.02.08 20:27)
Просто проверь :о)
-
насколько я проверял - это так =)
-
по поводу этой темы, легко разобраться на следующем примере (думаю, кому-нить пригодится):
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.
-
Можно и в 1 строку : btn6 := NewBitBtn(form, 'button6', [], glyphOver, 0, 0).PlaceDown;
-
ухты! Спасибо, Владимир!
ЗЫ Интересная особенность, программировать с KOL мне намного более комфортно, чем с VCL (дело даже не в размерах файла ;))... =)
|