Конференция "KOL" » Расположение контролов с помощью Place...X...
 
  • Алексей К. (22.02.08 17:58) [0]
    Здравствуйте!
    Ситуация следующая:
    нужно в 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 это предусмотренно?
  • Jon © (22.02.08 18:40) [1]
     Buttons[3].PlaceUnder;



    or

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

  • Алексей К. (22.02.08 20:27) [2]
    спасибо!

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

    Я прав?
  • ANTPro © (23.02.08 00:29) [3]
    > [2] Алексей К.   (22.02.08 20:27)

    Просто проверь :о)
  • Алексей К. (23.02.08 09:01) [4]
    насколько я проверял - это так =)
  • Алексей К. (23.02.08 09:36) [5]
    по поводу этой темы, легко разобраться на следующем примере (думаю, кому-нить пригодится):


    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.

  • Vladimir Kladov © (23.02.08 11:59) [6]
    Можно и в 1 строку :
    btn6 := NewBitBtn(form, 'button6', [], glyphOver, 0, 0).PlaceDown;

  • Алексей К. (23.02.08 13:30) [7]
    ухты!
    Спасибо, Владимир!

    ЗЫ
    Интересная особенность, программировать с KOL мне намного более комфортно, чем с VCL (дело даже не в размерах файла ;))... =)
 
Конференция "KOL" » Расположение контролов с помощью Place...X...
Есть новые Нет новых   [134431   +15][b:0][p:0.001]