Flex: изменение размера окна восстановления максимизированного окна - PullRequest
1 голос
/ 11 августа 2009

У меня есть окно, окно Я программно изменяю размер окна в зависимости от текущего вида, который он отображает. Пользователь не может изменить размер окна самостоятельно, но он может развернуть окно до максимума.

Проблема в том, что если вид меняется, когда он развернут, изменяется размер максимизированного окна, я не хочу этого, я хочу, чтобы он только изменял размер не максимизированного окна.

Моя первая мысль - просто проверить, развернуто ли окно, и если это так, не изменять его размер ... но проблема возникает тогда, когда оно восстанавливается в другом представлении, чем когда оно было развернуто, оно не будет восстановлено в новый размер должен быть.

Есть мысли по этому поводу?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 12 августа 2009

Имеется два состояния: максимальное и нормальное. В развернутом состоянии установите ширину и высоту в соответствии со стандартными максимумами. В нормальном состоянии установите для них некоторые переменные, которые вы сохранили с текущими значениями нормальной ширины и высоты. Другими словами, когда размер изменяется, не устанавливайте автоматически ширину и высоту, если только в настоящее время они не находятся в обычном режиме. Сохраните новые нормальные ширину и высоту в переменных, называемых normalWidth и normalHeight.

Вы заявляете, что могли бы выглядеть так

<mx:States>
<mx:State name="normal">
    <mx:SetProperty name="width" value="{normalWidth}"/>
    <mx:SetProperty name="height" value="{normalHeight}"/>        
</mx:State>
<mx:State name="maximized">
    <mx:SetProperty name="width" value="{MAX_WIDTH}"/>
    <mx:SetProperty name="height" value="{MAX_HEIGHT}"/>        
</mx:State>
</mx:States>
0 голосов
/ 12 августа 2009

Ну, я пробовал много вещей, и ни одна из них не работала точно. Так что на данный момент я просто сделал невозможным изменение вида / состояния при максимизации. Какая-то хромая, но она не дает работать неправильно.

...