Форум: "KOL";
Текущий архив: 2007.07.01;
Скачать: [xml.tar.bz2];
ВнизMinimize / Restore главного окна Найти похожие ветки
← →
Don © (2006-11-22 13:18) [0]
Applet := NewApplet("MyApplet");
MainForm := NewForm(Applet, "Main Form");
Run(Applet);
При создании такого приложения, Applet и главная форма имеют разные Handle. При сворачивании анимация идет с левого верхнего угла (не важно где находится главная форма). Ну эту проблему легко решить, поместив Applet в позицию главной формы. Но, если главное окно равернуть, а потом свернуть, то при восстановлении главное окно принимает нормальное состояние (а не развернутое). Хотелось бы узнать, так и подразумевалось, или просто не сделали. И есть у кого-нибудь простое решение.
← →
homm © (2006-11-22 14:38) [1]> И есть у кого-нибудь простое решение.
Есть :) Сам я аплетами не сильно пользовался, но вопрос слышал недонократно,и вроде видел его в FAQ.
← →
Don © (2006-11-22 16:05) [2]Мда... с минимизацией протупил. Читать больше надо.
Но вот по второму вопросу ответа не нашел.
← →
Galkov © (2006-11-22 17:41) [3]Понял так: Maimize -> Minimize -> Restore
Так вот - не подтверждается, все нормально. У меня, как в FAQ-е, прицеплен обработчик onMessage на главную форму:Result := false
case Msg.message of
WM_MOVE,WM_SIZE:
Applet.BoundsRect := Control.BoundsRect;
....
← →
Don © (2006-11-23 08:56) [4]Может неправильно поняли. Когда разворачиваешь главное окно на весь экран (Maximize), потом сворачиваешь, а когда восстанавливаешь, то форма вместо состояния Maximize (как она была при сворачивании) принимает состояние Normal. Причем если создаешь Applet как форму, то все в порядке.
Applet := NewForm(nil, "Main Form");
Run(Applet);
сравните два кода и увидите что я имею ввиду.
← →
Galkov © (2006-11-23 09:22) [5]Don, давайте абсолютно конкретно!
Вот код:Program test;
uses windows,messages,kol;
type TMainForm=object
Control:PControl;
function _OnMes(var Msg: tagMSG; var Rslt: Integer ): Boolean;
end;
function TMainForm._OnMes;
begin
Result := False;
if (Msg.message = WM_MOVE) or (Msg.message = WM_SIZE) then
Applet.BoundsRect := Control.BoundsRect;
end;
var MainForm:TMainForm;
begin
Applet := NewApplet("Хи-Хи-Хи");
with MainForm do begin
Control := NewForm(Applet,"Test");
Control.onMessage := _OnMes;
end;
Run(Applet);
end.
Запускаю - НЕ ПОДТВЕРЖДАЕТСЯ
← →
Don © (2006-11-23 09:47) [6]Что не подтверждается? Я написал тоже самое - ПОДТВЕРЖДАЕТСЯ.
Если ты имеешь ввиду анимацию сворачивания Applet-а из верхнего угла, то да, и я уже писал, что виноват, не прочитал FAQ.
Меня интересует второй вопрос, попробуй провести операции:
Form.Maximize;
Form.Minimize;
Form.RestoreFromMinimize;
что получилось? форма приняла нормальные размеры и потеряла флаг WS_MAXIMIZE
← →
Don © (2006-11-23 11:07) [7]Мало того, при отлове события Applet.OnRestore у формы значение WindowState = wsMaximized. Но она не Maximized.
← →
Galkov © (2006-11-23 12:24) [8]> Меня интересует второй вопрос, попробуй провести операции:
>
> Form.Maximize;
> Form.Minimize;
> Form.RestoreFromMinimize;
Попробовать и сказать чего получается не представляется возможным.
У TControl нет таких методов: Maximize, Minimize, RestoreFromMinimize - как мне показалось.
Вобщем - нет такой буквы в этом слове!!!
Don, говорить всякие слова можно еще неделю, и бестолку.
Вы кода не даете - хорошо.
Измените в предложеном как Вам нравится, и скажите чего нажать.
Сразу у разговора возникнут результаты: либо Вы поймете чего делали не так, либо вскроется возможная бага.
← →
Don © (2006-11-23 12:42) [9]Возьмем ваш код (ничего менять не надо).
Запускаем, нажимаем кнопки на форме Maximize, потом Minimize. Затем нажимаем на проект в системной панели (чтобы восстановить проект). Все. Форма имеет нормальный размер, вместо maximized.
← →
Galkov © (2006-11-23 12:53) [10]
> Все. Форма имеет нормальный размер, вместо maximized
Неправда.
Форма имеет размер maximized, а не нормальный
← →
_gandalf_ (2006-11-23 13:42) [11]а может для начала договоримся какие версии KOLnMCK (номер, асм/pas) и винды?
← →
Galkov © (2006-11-23 13:51) [12]KOL-1.93, asm, XP-home (старше sp2 но как точно называется - не скажу, навороченная какая-то, год назад буку брал)
компилировал - не поверите D4 из command Line :)))
← →
[e]Bu$ter © (2006-11-23 14:43) [13]
> KOL-1.93
Этим всё объясняется. :)))
← →
Galkov © (2006-11-23 19:31) [14]Ну может быть...
Хотя для версии с SVN результат Restore правильного размера. Из постов Don у меня сложилось впечатление, что размер-то максимальный, а состояние кнопы - Normal :)
А с другой стороны, "все" - это когда понятен фиксинг...
← →
Vladimir Kladov (2006-11-23 21:17) [15]Проблемы с восстановлением появились при переходе 2.10->2.11, я уже нашел, и код исправил. В обновлении будет. Опять надо помогать мальчику математику делать, вспоминать шумерскую систему исчисления. Так что обновление будет завтра.
← →
Galkov © (2006-11-23 21:25) [16]Ну не знаю как на матфаке, а физикам "шумерскую систему исчисления" не давали :)))
← →
Don © (2006-11-24 08:39) [17]Спасибо за исправления и за то, что помогли разобраться.
Страницы: 1 вся ветка
Форум: "KOL";
Текущий архив: 2007.07.01;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.007 c