|
Как установить минимальный размер окна?
|
|||
---|---|---|---|
#18+
Как задать для окна с изменяемыми размерами минимальный размер? Знаю, что при использовании PFC этот параметр задавать можно, но как быть без него? Из resize() вызывать resize() мне не очень хочется, а как отменить событие мне не известно :(... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2018, 16:27 |
|
Как установить минимальный размер окна?
|
|||
---|---|---|---|
#18+
Можно, конечно, прямо в resize() написать что-то вроде IF newwidth < MIN_WIDTH THEN newwidth = MIN_WIDTH но что делать, если пользователь продолжает тащить мышку? Сделать на 1-2 секунды размер окна неизменяемым? Уж слишком костыльно как-то... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2018, 17:38 |
|
Как установить минимальный размер окна?
|
|||
---|---|---|---|
#18+
Вы правильно думали. Например, как то так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2018, 10:17 |
|
Как установить минимальный размер окна?
|
|||
---|---|---|---|
#18+
Apprehension, Добрый день. Можно использовать WinAPI subroutine GetMinMaxInfo ( ref str_minmaxinfo d, long s, long l ) library 'kernel32.dll' alias for "RtlMoveMemory;Ansi" subroutine SetMinMaxInfo ( long d, str_minmaxinfo s, long l ) library 'kernel32.dll' alias for "RtlMoveMemory;Ansi" -- global type str_minmaxinfo from structure str_point ptreserved str_point ptmaxsize str_point ptmaxposition str_point ptmintracksize str_point ptmaxtracksize end type -- event ue_getminmaxinfo pbm_getminmaxinfo event ue_getminmaxinfo;str_MinMaxInfo lstr_MinMaxInfo /* copy the data, pointed by the argument MinMaxInfo, to our lstr_MinMaxInfo structure */ GetMinMaxInfo(lstr_MinMaxInfo, MinMaxInfo, 40) /* set the minimal size for our window */ lstr_MinMaxInfo.ptMinTrackSize.lx = 730 lstr_MinMaxInfo.ptMinTrackSize.ly = 250 /* copy the structure back into memory at the same place */ SetMinMaxInfo(MinMaxInfo,lstr_MinMaxInfo,40) /* important, according to the MS API, we must return 0 */ return 0 end event ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2018, 12:22 |
|
Как установить минимальный размер окна?
|
|||
---|---|---|---|
#18+
umalov, global type str_point from structure long lx long ly end type ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2018, 12:23 |
|
Как установить минимальный размер окна?
|
|||
---|---|---|---|
#18+
umalov, AIS Благодарю! Должен сказать, что через систему получилось лучше: даже при использовании SetRedraw() в случае удержании мышки окно все равно могло подергиваться, словно в легкой эпилепсии, а после системных определений стояло как скала под ветром. Единственное: неужели было обязательно использовать GetMinMaxInfo? Я понял так, что эта функция пишет и читает из структуры, указатель на которую передается как аргуент в событии. Но разве нельзя как нибудь обойтись приведением типов? Неужели в PowerScript нет такого механизма? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2018, 12:29 |
|
|
start [/forum/topic.php?fid=15&msg=39683651&tid=1335108]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
164ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 17ms |
total: | 281ms |
0 / 0 |