Вниз
Скачать: CL | DM;

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

← →
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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.022 c
3-1085557555
Stanislav
2004-05-26 11:45
2004.06.20
Dbgrid to Dbgrid


14-1086128200
Алгоритмыч
2004-06-02 02:16
2004.06.20
Переход на C++


14-1085996934
Ertong
2004-05-31 13:48
2004.06.20
Памажите!! Internal Error SY576


1-1086672164
zetovich
2004-06-08 09:22
2004.06.20
string -> real (in pascal)


3-1085648034
Andrew_S
2004-05-27 12:53
2004.06.20
Проблема с LookUp полями




   Наверх