Имя: Пароль:
1C
1С v8
Хочу запретить изменение размера окна управляемой формы
0 Вуглускр1991
 
27.03.13
15:06
Пишу:
ТрансляторAPI = Новый COMОбъект("DynamicWrapperX");
ТрансляторAPI.Register("USER32.DLL", "GetActiveWindow", "r=l");
ТрансляторAPI.Register("USER32.DLL", "GetWindowLong","i=hl", "r=l");
ТрансляторAPI.Register("USER32.DLL", "SetWindowLong","i=hll", "r=l");
ДескОкнаКнВыполнить = ТрансляторAPI.GetActiveWindow();
GWL_STYLE = -16;
НовыйСтиль = 503320576; // 0x1E00 1000 = ...
СтильNow = ТрансляторAPI.GetWindowLong(ДескОкнаКнВыполнить,GWL_STYLE);
БылСтиль = ТрансляторAPI.SetWindowLong(ДескОкнаКнВыполнить,GWL_STYLE,НовыйСтиль);
// 0x1E00 1000 = WS_VISIBLE + WS_DISABLED + WS_CLIPSIBLINGS + WS_CLIPCHILDREN
Два раза жму на кнопку, вижу:
Был стиль сперва 516 755 456, потом стал какой надо 503 320 576
то есть класс окна я поменял, но кнопка Maximaize по прежнему есть, sysmenu есть, title есть - не видно изменений.
Что не так? Есть мысли?
Спасибо.
1 Вуглускр1991
 
27.03.13
15:51
ап ..
2 _Demos_
 
27.03.13
15:57
это ты щас с кем разговариваешь?))
3 Вуглускр1991
 
27.03.13
15:59
(2) с тем, кто меня понимает.
4 _Demos_
 
27.03.13
16:03
(3) таких здесь нет.
1С-нику твои каракули не нужны
5 Вуглускр1991
 
27.03.13
16:05
Таки чего-то работает!
НовыйСтиль = 0;
окно исчезает накуй! и только через Ctrl-F4 его можно закрыть.
6 Вуглускр1991
 
27.03.13
16:06
(4) Ты пока очень мало знаешь об 1С-никах.
7 _Demos_
 
27.03.13
16:09
(6) я о них все знаю поверь)
8 _Demos_
 
27.03.13
16:09
+(6) нормальный 1С-ник этим замарачиваться не будет
9 Вуглускр1991
 
27.03.13
16:14
(8) Скажи это Ходже, который нетленку написал.
10 Вуглускр1991
 
27.03.13
18:45
Кароче ... кончил.
временно.
В своей несчастной библиотеке, написал ещё один метод.
SetWindPos(x,y,x+width,y+heght);
и буду всякий раз его вызывать после того, как чего-нибудь нарисую на форме.