Форум программистов, компьютерный форум, киберфорум
Delphi
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/37: Рейтинг темы: голосов - 37, средняя оценка - 4.78
Dima63
1

Как развернуть дочернее MDI-окно без анимации?

18.04.2007, 19:24. Показов 7351. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Подскажите плз, как отключить анимацию при разворачивании дочерних окон в MDI.
Дело в том, что моя прога может открывать сразу много окон, при этом анимация СИЛЬНО тормозит процесс.
Штуки вроде WM_SETREDRAW и LockWindowUpdate не подходят, т.к. имеют неприятные побочные эффекты.
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.04.2007, 19:24
Ответы с готовыми решениями:

Не закрывается дочернее окно (mdi)
Друзья привет! Помогите разобраться, есть приложение с множеством дочерних окон и нужно закрыть...

MDI Form: Определить активное дочернее окно
Что то я запутался в создаваемых дочерних окнах Есть форма Form1 которая является главной. в...

Как программно развернуть дочернее окно
В приложении закрываю дочернее окно (оно сворачивается) как его программно развернуть, назначить на...

Как развернуть дочернее окно на всю область родительского
Программа использует mdi окна. Есть главное окно программы GeneralForm; Есть дочернее окно...

1
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
18.04.2007, 22:13 2
У дочернего MDI-окна есть свой модуль. Вот туда и пишем наш обработчик восстановления положения окна. Код модуля:

Код
unit CHILDWIN;

interface

uses Windows, Classes, Graphics, Forms, Controls, StdCtrls, messages;

type
  TMDIChild = class(TForm)
    Memo1: TMemo;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure WMSYSCOMMAND(var m:TWMSysCommand); message WM_SYSCOMMAND;
  private
    { Private declarations }
  public
    { Public declarations }
  end;

implementation

{$R *.dfm}

procedure TMDIChild.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action := caFree;
end;

procedure TMDIChild.WMSYSCOMMAND(var m: TWMSysCommand);
begin
if (m.CmdType = SC_RESTORE) then begin  //если восстанавливаем
ShowWindow(handle, SW_HIDE);        //прячем
ShowWindow(handle, SW_SHOWNORMAL);   //показываем
end
else
inherited;     //зовем папу на помощь
end;

end.
0
18.04.2007, 22:13
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.04.2007, 22:13
Помогаю со студенческими работами здесь

Как отслеживать открыто ли какое либо дочернее окно MDI и как к ним обращаться?
Как отслеживать открыто ли какое либо дочернее окно MDI и как к ним обращаться? и в нете никак не...

MDI и дочернее окно!
Добрый день! Есть некоторый компонент расположенный в РОДИТЕЛЬСКОМ ОКНЕ MDI. Мне надо что бы он...

Развернуть дочернее окно
в программе 1с есть окно с названием "Общий журнал ...." мне надо его развернуть. BOOL CALLBACK...

Не отображается дочернее окно MDI при обработке сообщения WM_COMMAND
Всем привет. Нужна помощь. Не могу понять почему не работает именно в WM_COMMAND! Вызываю окно из...

Как закрыть или скрыть основное окно и открыть дочернее, и как потом закрыть дочернее окно и открыть основное
Здравствуйте, передо мной возникла проблема, с которой я не могу справиться. Суть проблемы в том,...

Создать модальное окно (дочернее окно) как в одноклассниках
Здраствуйте всем, Нужна помощь. Я хочу создать модальное окно (дочерное окно) в ASP.NET на примере...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru