![]() |
|
![]() ![]() ![]() |
|
vikaz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 869 Регистрация: 15.2.2006 Репутация: 10 Всего: 12 |
Ребята, всем доброго.......
Возникла следующая ситуация.....мне нужно было написать программу с интерфейсом как у 1С (это просто для сравнения), смысл в том, что в одном окне должны открываться другие окна. Создал Application в свойствах FormStyle поставил fsMDIForm, потом созда форму там задал fsMDIChild и вызываю следующим образом: TfrChild * child; child = new TfrChild (Application); child->Caption = "qwe"; Окно вызывается но заметил следующие косяки: 1. в окне которое появляется я задал окно опредленного размера, но при вызове оно почему-то не соблюдается, а выставляется самомстоятельно не так как мне нужно. 2. Я не могу закрыть окно child->Close(); так как в проекте я убрал его автосоздание формы и при вызове CLOSE(); выдает ошибку в памяти - вопрос, как правильно закрыть Child? Заранее спасибо.... Это сообщение отредактировал(а) vikaz - 28.8.2006, 06:31 -------------------- ![]() Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ |
|||
|
||||
stmamont |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 343 Регистрация: 13.3.2004 Где: влг Репутация: 3 Всего: 3 |
в билдере есть пример MDI приложения
|
|||
|
||||
vikaz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 869 Регистрация: 15.2.2006 Репутация: 10 Всего: 12 |
Это я знаю, но там нет кнопочки закрыть и нет кода для этой кнопочки......
-------------------- ![]() Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ |
|||
|
||||
Vyacheslav |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 47 Всего: 59 |
Определить для child-окна обработчик OnClose
-------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
vikaz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 869 Регистрация: 15.2.2006 Репутация: 10 Всего: 12 |
то что ты написал, это для закрытия формы крестиком. а мне нужно закрывать отдельной кнопкой которая будет находится на форме и называться ЗАКРЫТЬ
-------------------- ![]() Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ |
|||
|
||||
Vyacheslav |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 47 Всего: 59 |
Тогда просто вызывай Close(). Это должно работать. Кстати обработчик все равно потребуется, иначе child-окно будет только минимизироваться.
У тебя ошибка где-то в коде -------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
vikaz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 869 Регистрация: 15.2.2006 Репутация: 10 Всего: 12 |
Close не прокатит, так как я делаю указатель на child и создаю динамически. А написать на появившимся окне код child->close(); не позволяет среда разработки, т.к. она не находит указатель..... замкнутый круг какой-то.....
-------------------- ![]() Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ |
|||
|
||||
Vyacheslav |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 47 Всего: 59 |
Для того, что бы выдерживались размеры, задай их в теле конструктора
-------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
vikaz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 869 Регистрация: 15.2.2006 Репутация: 10 Всего: 12 |
с размерами я разобрался, осталос только закрытие формы......
-------------------- ![]() Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ |
|||
|
||||
Vyacheslav |
|
||||||||||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 47 Всего: 59 |
Ты думаешь, что среда не создает его динамически? Код давай. Close() работает. Элементарный пример спокойно это показывает Положи кнопку на свое child-окно и определи разработчик
Положи кнопку на главное окно и пропиши обработчик
Но при этом в главном окне должен быть код
И должен быть определеа переменная в cpp главного окна
или член класса главного окна
При этом в cpp в любом случае нужно включить #include "frChild.h" Добавлено @ 14:09 Кстати. По скольку просто скрыть MDI-child окно не удастся. По определению MDI-child окно не может быть скрытым, то тогда при закрытии из вне (из главного окна) подойдет просто
Тогда не нужно для него определять обработчик OnClose -------------------- С уважением, Вячеслав Ермолаев |
||||||||||||
|
|||||||||||||
vikaz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 869 Регистрация: 15.2.2006 Репутация: 10 Всего: 12 |
а вот за это спасибо...... помогло....Респект и уважуха
![]() -------------------- ![]() Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |