Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Панель для ярлыков


Автор: Gudzik11 6.3.2014, 01:17
Здравствуйте ! Скажите возможно ли сделать такую панель в Delphi?

Автор: kami 6.3.2014, 08:01
Цитата(Gudzik11 @  6.3.2014,  01:17 Найти цитируемый пост)
возможно ли сделать такую панель в Delphi?

Да.

Автор: Gudzik11 6.3.2014, 19:52
каким оброзом добитьса прозрачности иконок на прозрачной форме

Добавлено через 10 минут и 22 секунды
видел я компонент AdvSmoothDock но с него нечего путнего не вышло 

Автор: Gudzik11 20.3.2014, 23:38
Ребят помогите ! Выдумал тут я такую себе панельку сделать.
Вобщем пытаюсь сделать чтото похожее на TabSet делаю всё из обычных панелей то есть на форму положил панель и в ней  динамически добовляю панели.
 задача такая 
   1 панель которая добовляетса растягиваетса на всё длину
   2 должна поделить 1 пополам и стать за ней и так все последушие 
тоесть нужно чтоб все панели вместились в панель родителя 
вот так я пытаюсь это сделать 

Код

var
// pages: TPanel;
 Pages: array [0..20] of TPanel;
 Lists: array [0..20] of TPanel;
begin
 if i<=20 then
 begin
  if i=0 then
   begin
    Pages[i]:= TPanel.Create(Self);
    with Pages[i] do
     begin
      Parent:=Panel4;
      //Align:=alLeft;
      AlignWithMargins:=True;
      Left:=3;
      top:=3;
      Width:= Panel4.Width - 6;
      Height:= Panel4.Height - 6;
      Color:=clSilver; // цвет панели
      Name:='Pages'+inttostr(i); //
      Caption:='Pages'+inttostr(i);
      Font.Size:=9;  // размер шрифта
      Font.Style:=[fsbold];  // жирный шрифт
      OnClick:=PClick;    // клик для панели
      ParentBackground:=False; // для окраски панели
     end;
   end
    else
     begin
      for j:=0 to Panel4.ControlCount-1 do // здесь по идеи должны все панели уменьшатса 
       if (Panel4.Controls[j] is TPanel) then
        begin
         with TPanel(Panel4.Controls[j]) do
         Left:=0+TPanel(Panel4.Controls[j]);


        end;
     end;



 end
 else
  begin
   ShowMessage('запрешено');
  end;
 inc(i);
end;

Автор: IDRoot 3.4.2014, 13:06
Цитата(Gudzik11 @ 20.3.2014,  23:38)
Ребят помогите ! Выдумал тут я такую себе панельку сделать.
Вобщем пытаюсь сделать чтото похожее на TabSet делаю всё из обычных панелей то есть на форму положил панель и в ней  динамически добовляю панели.
 задача такая 
   1 панель которая добовляетса растягиваетса на всё длину
   2 должна поделить 1 пополам и стать за ней и так все последушие 
тоесть нужно чтоб все панели вместились в панель родителя 
вот так я пытаюсь это сделать 

Код

var
// pages: TPanel;
 Pages: array [0..20] of TPanel;
 Lists: array [0..20] of TPanel;
begin
 if i<=20 then
 begin
  if i=0 then
   begin
    Pages[i]:= TPanel.Create(Self);
    with Pages[i] do
     begin
      Parent:=Panel4;
      //Align:=alLeft;
      AlignWithMargins:=True;
      Left:=3;
      top:=3;
      Width:= Panel4.Width - 6;
      Height:= Panel4.Height - 6;
      Color:=clSilver; // цвет панели
      Name:='Pages'+inttostr(i); //
      Caption:='Pages'+inttostr(i);
      Font.Size:=9;  // размер шрифта
      Font.Style:=[fsbold];  // жирный шрифт
      OnClick:=PClick;    // клик для панели
      ParentBackground:=False; // для окраски панели
     end;
   end
    else
     begin
      for j:=0 to Panel4.ControlCount-1 do // здесь по идеи должны все панели уменьшатса 
       if (Panel4.Controls[j] is TPanel) then
        begin
         with TPanel(Panel4.Controls[j]) do
         Left:=0+TPanel(Panel4.Controls[j]);


        end;
     end;



 end
 else
  begin
   ShowMessage('запрешено');
  end;
 inc(i);
end;

TMS software есть компонент, похожий на rocketdock. smile Называется TAdvSmoothDock. 

http://www.delphipages.com/uploads/umod_object_image/4/2/1/5/file_name/AdvSmoothDock2.png

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)