Использование фреймов внутри диалоговых окон
От: Артамонов Дмитрий Россия ICQ: 168185721
Дата: 30.01.04 11:48
Оценка: 276 (21) +1
Статья:
Использование фреймов внутри диалоговых окон
Автор(ы): Артамонов Дмитрий
Дата: 26.01.2004
Представьте себе ситуацию – вы пишете MDI или SDI приложение. Уже готовы представления, выловлены все явные ошибки и всё работает. Но вам ставят задачу (начальник или, быть может, вы сами) реализовать ту же функциональность, но внутри диалогового окна. Как можно решить проблему ? Одним из вариантов решения будет создание диалогового дубля уже готового кода. Однако дублирование кода вносит множество неприятных проблем, главной из которой будет одновременная поддержка двух версий кода. Изложенный в этой статья метод позволяет задачу решить намного проще. Кроме того, этот приём позволяет без лишних усилий добавить сплиттеры внутрь диалогового окна.


Авторы:
Артамонов Дмитрий

Аннотация:
Представьте себе ситуацию – вы пишете MDI или SDI приложение. Уже готовы представления, выловлены все явные ошибки и всё работает. Но вам ставят задачу (начальник или, быть может, вы сами) реализовать ту же функциональность, но внутри диалогового окна. Как можно решить проблему ? Одним из вариантов решения будет создание диалогового дубля уже готового кода. Однако дублирование кода вносит множество неприятных проблем, главной из которой будет одновременная поддержка двух версий кода. Изложенный в этой статья метод позволяет задачу решить намного проще. Кроме того, этот приём позволяет без лишних усилий добавить сплиттеры внутрь диалогового окна.
When in doubt, use brute force. © Ken Thompson

Re: Использование фреймов внутри диалоговых окон
От: RonWilson Россия  
Дата: 14.05.05 14:12
Оценка:
Здравствуйте, Артамонов Дмитрий, Вы писали:

АД>Статья:

АД>Использование фреймов внутри диалоговых окон
Автор(ы): Артамонов Дмитрий
Дата: 26.01.2004
Представьте себе ситуацию – вы пишете MDI или SDI приложение. Уже готовы представления, выловлены все явные ошибки и всё работает. Но вам ставят задачу (начальник или, быть может, вы сами) реализовать ту же функциональность, но внутри диалогового окна. Как можно решить проблему ? Одним из вариантов решения будет создание диалогового дубля уже готового кода. Однако дублирование кода вносит множество неприятных проблем, главной из которой будет одновременная поддержка двух версий кода. Изложенный в этой статья метод позволяет задачу решить намного проще. Кроме того, этот приём позволяет без лишних усилий добавить сплиттеры внутрь диалогового окна.


АД>Авторы:

АД> Артамонов Дмитрий

АД>Аннотация:

АД>Представьте себе ситуацию – вы пишете MDI или SDI приложение. Уже готовы представления, выловлены все явные ошибки и всё работает. Но вам ставят задачу (начальник или, быть может, вы сами) реализовать ту же функциональность, но внутри диалогового окна. Как можно решить проблему ? Одним из вариантов решения будет создание диалогового дубля уже готового кода. Однако дублирование кода вносит множество неприятных проблем, главной из которой будет одновременная поддержка двух версий кода. Изложенный в этой статья метод позволяет задачу решить намного проще. Кроме того, этот приём позволяет без лишних усилий добавить сплиттеры внутрь диалогового окна.

Классная статья! Но возникли проблемы
суть проблемы тут
Автор: RonWilson
Дата: 05.05.05
Re: Использование фреймов внутри диалоговых окон
От: altan  
Дата: 28.07.05 09:12
Оценка:
Всем добрый день!

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

m_wndSplitter.CreateStatic(m_pFrame2, 1, 1);
m_wndSplitter.CreateView( 0, 0, RUNTIME_CLASS(CMyView), CSize(200, 0), &ccc );
m_wndSplitter.CreateView( 0, 1, RUNTIME_CLASS(CMyView), CSize(0, 200), &ccc );


на такой:

m_wndSplitter.CreateStatic(m_pFrame2, 2, 2);
m_wndSplitter.CreateView( 0, 0, RUNTIME_CLASS(CMyView), CSize(200, 0), &ccc );
m_wndSplitter.CreateView( 0, 1, RUNTIME_CLASS(CMyView), CSize(0, 200), &ccc );
m_wndSplitter.CreateView( 1, 0, RUNTIME_CLASS(CMyView), CSize(200, 0), &ccc );
m_wndSplitter.CreateView( 1, 1, RUNTIME_CLASS(CMyView), CSize(0, 200), &ccc );


Но это создаёт 4 фрейма... А мне нужно 2 сверху и один ниже на ширину 2-х верхних
Такой код:

m_wndSplitter.CreateStatic(m_pFrame2, 2, 2);
m_wndSplitter.CreateView( 0, 0, RUNTIME_CLASS(CMyView), CSize(200, 0), &ccc );
m_wndSplitter.CreateView( 0, 1, RUNTIME_CLASS(CMyView), CSize(0, 200), &ccc );
m_wndSplitter.CreateView( 1, 0, RUNTIME_CLASS(CMyView), CSize(200, 0), &ccc );


ругается...

Как это сделать?
Спасибо за помощь
Re: Использование фреймов внутри диалоговых окон
От: kondrik  
Дата: 07.10.05 11:04
Оценка:
Здравствуйте, Артамонов Дмитрий, Вы писали:

АД>Статья:

АД>Использование фреймов внутри диалоговых окон
Автор(ы): Артамонов Дмитрий
Дата: 26.01.2004
Представьте себе ситуацию – вы пишете MDI или SDI приложение. Уже готовы представления, выловлены все явные ошибки и всё работает. Но вам ставят задачу (начальник или, быть может, вы сами) реализовать ту же функциональность, но внутри диалогового окна. Как можно решить проблему ? Одним из вариантов решения будет создание диалогового дубля уже готового кода. Однако дублирование кода вносит множество неприятных проблем, главной из которой будет одновременная поддержка двух версий кода. Изложенный в этой статья метод позволяет задачу решить намного проще. Кроме того, этот приём позволяет без лишних усилий добавить сплиттеры внутрь диалогового окна.


АД>Авторы:

АД> Артамонов Дмитрий

АД>Аннотация:

АД>Представьте себе ситуацию – вы пишете MDI или SDI приложение. Уже готовы представления, выловлены все явные ошибки и всё работает. Но вам ставят задачу (начальник или, быть может, вы сами) реализовать ту же функциональность, но внутри диалогового окна. Как можно решить проблему ? Одним из вариантов решения будет создание диалогового дубля уже готового кода. Однако дублирование кода вносит множество неприятных проблем, главной из которой будет одновременная поддержка двух версий кода. Изложенный в этой статья метод позволяет задачу решить намного проще. Кроме того, этот приём позволяет без лишних усилий добавить сплиттеры внутрь диалогового окна.

Еще интересно как при такой реализации диалог может определить получение фокуса контролом? Насколько вижу диалог фокус не определяет?
.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.