Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как реализованы в 1С Предприятии формы приложения ? [D7, WinXP]


Valera ©   (2007-01-28 22:33:00) 

Насколько я знаю MDI интерфейс не позволяет разворачивать формы на весь экран не затрагивая при этом других. Подскажите как это реализовано в 1С и как это можно реализовать? Ведь там при открытом журнале можно развернуть любой документ не затрагивая его самого.


GrayFace   (2007-01-29 21:09:00) [1]

Valera   (29.01.07 0:19) [4]
    MDIChildren[i].Show;
    if MDIChildren[i].WindowState = wsMinimized then
     MDIChildren[i].WindowState:= wsNormal;

Попробуй местами строчки поменять. Или ShowWindow(MDIChildren[i].Handle, SW_SHOWNORMAL);


Valera   (2007-01-29 01:51:00) [2]

Спасибо


sniknik   (2007-01-29 01:39:00) [3]

> разворачивать формы на весь экран не затрагивая при этом других
подключи модуль forms к себе в проект, и в нем
в процедуре
procedure TCustomForm.CreateParams(var Params: TCreateParams);
закоментарь строку  
if FormStyle = fsMDIChild then WindowClass.lpfnWndProc := @DefMDIChildProc;
правда чтонибудь может "сломаться"... но попробуй, может пойдет.


Valera   (2007-01-29 00:19:00) [4]

> Ctrl+F1. каталог Demos  в папке delphi.

Не те примеры, вопрос как переделать оконную процедуру или конструктор окна? Ведь постоянно все моргает - мой код когда нужно открывать форму без wsMaximized.

var
InsertChild: TMDIChild;
i: integer;
y: boolean;
begin
y:= true;
if MDIChildCount > 0 then
 for i:= 0 to MDIChildCount-1 do
   if MDIChildren[i] is TMDIChild then
    begin
     y:= false;
     MDIChildren[i].Show;
     if MDIChildren[i].WindowState = wsMinimized then
      MDIChildren[i].WindowState:= wsNormal;
      break;
    end;
if y then
 InsertChild := TMDIChild.Create(Application);


tesseract   (2007-01-29 00:02:00) [5]

> Можно ли найти примеры на Делфи?


Ctrl+F1. каталог Demos  в папке delphi.


Valera   (2007-01-28 23:39:00) [6]

> tesseract ©

Можно ли найти примеры на Делфи?


tesseract   (2007-01-28 23:05:00) [7]

> Насколько я знаю MDI интерфейс не позволяет разворачивать
> формы на весь экран не затрагивая при этом других.


Почему?

ЗЫ:  1С написан на чистои api ещё под win3.11.


Наверх

Титульная страница Поиск, карта сайта Написать письмо