Показать сообщение отдельно
  #5  
Старый 24.10.2010, 12:33
Аватар для SerginhoLD
SerginhoLD SerginhoLD вне форума
Новичок
 
Регистрация: 19.11.2009
Сообщения: 73
Репутация: 12
По умолчанию

Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Panel1: TPanel;
    Edit1: TEdit;
    Edit2: TEdit;
    CheckBox1: TCheckBox;
    Button1: TButton;
    SpeedButton1: TSpeedButton;
    BitBtn1: TBitBtn;
    Label1: TLabel;
    Memo1: TMemo;
    ComboBox1: TComboBox;
    procedure SpeedButton1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.SpeedButton1Click(Sender: TObject);
var i,h: integer;
begin
  h:=form1.Panel1.Height+form1.Panel1.Top;
  if panel1.Height=160 then // 160 это например высота когда РАскрыто все
  begin
    panel1.Height:=40;   // 40 это например высота когда скрыто все
    for i:=0 to form1.ControlCount-1 do
    // далее бежим по компонентам, если компоненты ниже нашего "спойлера",
    // то сдвигаем их вверх
      if form1.Controls[i].Top > h then
        form1.Controls[i].Top:=form1.Controls[i].Top-120; // 120 это 160-40
  end
    else     // тут тоже самое только наоборот
    begin
      panel1.Height:=160;
      for i:=0 to form1.ControlCount-1 do
      if form1.Controls[i].Top > h then
        form1.Controls[i].Top:=form1.Controls[i].Top+120;
    end;
end;

end.

скрины:
Вложения
Тип файла: rar ск-развер.rar (84.9 Кбайт, 33 просмотров)
__________________
знаете почему внизу эскалатора бабка в будке сидит?
она там педальки крутит и лесенка едет!
Ответить с цитированием