Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.06.20;
Скачать: [xml.tar.bz2];

Вниз

десингтайм   Найти похожие ветки 

 
zep ©   (2004-06-05 15:23) [0]

привет ALL подскажите как запретить изменение размеров компанента в десингтайме


 
Mim1 ©   (2004-06-05 15:26) [1]

Вообще запретить? или только через инспектор обьектов, или тольео мышкой?


 
KilkennyCat ©   (2004-06-05 15:32) [2]

Задать ограничение размера, констрайзсайз - типа так произносится :)


 
zep ©   (2004-06-05 15:41) [3]

есть компанент предком его является Tpanel и на панели располежены другие компаненты и надо чтобы когда пользователь ставил компанент на форму он не мог ее мышкой уменишить или растянуть


 
Гаврила ©   (2004-06-05 16:11) [4]

У компонента есть свойство ComponentState
там есть флаг. по которому можно понять, какой тайм - дезайн или ран


 
jack128 ©   (2004-06-05 16:21) [5]


> подскажите как запретить изменение размеров компанента в
> десингтайме
контрола, я так понимаю?
Перекрыть SetBounds

procedure TMySuperControl.SetBounds(ALeft, ATop, AWidth, AHeight: Integer);
begin
 if csDesigning in ComponentState then
 begin
   AWidth := Width;
   AHeight := Height;
 end
 inherited;
end;


 
Гаврила ©   (2004-06-05 17:02) [6]

>>jack128 ©   (05.06.04 16:21) [5]

Наверно все таки не совсе так
потому что по inherited все выполнится в любом случае


 
zep ©   (2004-06-05 17:27) [7]

а если можно попадробние
>>jack128 ©   (05.06.04 16:21) [5]
Наверно все таки не совсе так
потому что по inherited все выполнится в любом случае


 
Petr V. Abramov ©   (2004-06-05 18:25) [8]

CanResize поможет


 
default ©   (2004-06-05 18:58) [9]

procedure TMySuperControl.SetBounds(ALeft, ATop, AWidth, AHeight: Integer);
begin
if not csDesigning in ComponentState then inherited
end;


 
Petr V. Abramov ©   (2004-06-05 19:05) [10]

> default ©   (05.06.04 18:58) [9]
 И как же компонент, например, св-во Width из dfm загрузит?
 Про csLoading забыли?


 
default ©   (2004-06-05 19:10) [11]

Petr V. Abramov ©   (05.06.04 19:05) [10]
точно ведь


 
jack128 ©   (2004-06-05 19:30) [12]

procedure TMySuperControl.SetBounds(ALeft, ATop, AWidth, AHeight: Integer);
begin
if not csDesigning in ComponentState then inherited
end;
А как человек будет менять местоположение компонента? ;-)
Итого:
procedure TMySuperControl.SetBounds(ALeft, ATop, AWidth, AHeight: Integer);
begin
if (csDesigning in ComponentState) and not (csLoading in ComponentState) then
begin
  AWidth := Width;
  AHeight := Height;
end
inherited;
end;


 
Petr V. Abramov ©   (2004-06-05 19:47) [13]

function CanResize(var NewWidth, NewHeight: Integer): Boolean; override;
begin
 Result := (not (csDesigning in ComponentState) or (csLoading in ComponentState)) and inherited CanResize(NewWidth, NewHeight)
end;


 У меня короче :)


 
zep ©   (2004-06-05 20:38) [14]

всем спасибо



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.06.20;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.032 c
14-1086028083
Drakon
2004-05-31 22:28
2004.06.20
Компиляция исходников C/C++


14-1086158505
31512
2004-06-02 10:41
2004.06.20
Что лучше для обработки нажатий на пункты меню?


3-1085586517
Ertong
2004-05-26 19:48
2004.06.20
DBGrid


3-1085706544
Slavik_v
2004-05-28 05:09
2004.06.20
Интеграция Delphi7 b Excel


1-1086458686
EVP
2004-06-05 22:04
2004.06.20
Русский шрифт





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский