Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> anchor statusbar panels !!! 
:(
    Опции темы
muratboy31
Дата 14.1.2010, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 7.1.2010

Репутация: нет
Всего: нет



is it possible to anchor statusbar panels  ?
i have some buttons onstatusbar panels but because i cant anchor, it disappers if i make screen smaller...
i have 6 panels in statusbar...

Panels[0].Width := 400;
Panels[1].Width := 150;
Panels[2].Width := 40;
Panels[3].Width := 40;
Panels[4].Width := 40;
Panels[5].Width :=     ;

thanks in advance

Это сообщение отредактировал(а) muratboy31 - 14.1.2010, 16:51
PM MAIL   Вверх
RomanEEP
Дата 14.1.2010, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 424
Регистрация: 18.5.2006
Где: Коломна

Репутация: 1
Всего: 8



You can recalculate Panels[x].Width on form resize event according to the value of form width
PM MAIL   Вверх
muratboy31
Дата 14.1.2010, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 7.1.2010

Репутация: нет
Всего: нет



ok i did that but when i resize it buttons on it remains where they r and dont move and also some panels disappers when i make it smaller... i want just panel 0 change the size and the others stay on same size ...

Код

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, ComCtrls;

type
 TForm1 = class(TForm)
   StatusBar1: TStatusBar;
   procedure FormCreate(Sender: TObject);
   procedure FormResize(Sender: TObject);
 private
   { Private declarations }
   Proportions : array of real;
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var i : integer;
begin
 SetLength (Proportions, StatusBar1.Panels.Count);
 for i := 0 to StatusBar1.Panels.Count-1 do
   Proportions[i] := StatusBar1.Panels[i].Width / ClientWidth;
end;

procedure TForm1.FormResize(Sender: TObject);
var i : integer;
begin
 for i := 0 to StatusBar1.Panels.Count-1 do
   StatusBar1.Panels[i].Width := Trunc(ClientWidth * Proportions[i]); 
end;

end.

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1018 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.