информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Портрет посетителяСтрашный баг в WindowsАтака на Internet
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[C++] Не слишком благодарное дело - тянуть подход из библиотеки с одной идеологией в библиотеку с другой. 22.07.03 08:35  Число просмотров: 1343
Автор: void <Grebnev Valery> Статус: Elderman
<"чистая" ссылка>
> Насколько я знаю, в подавляющем большинстве случаев для
> обмена "сообщениями" между элементами интерфейса вполне
> достаточно либо непосредственной посылки оконного (WM_)
> сообщения элементу с заданным именем

Да. Это полезный инструмент. Но не получится.
Я напишу о его использвании отдельным постом.
А просто так SendMessge(....) не удастся использовать. Послать сообщение можно, но, зная хэндл (WinAPI) или указатель (CWnd*) конкретного получателя (например, диалога). Он неизвестен в общем случае, если только не сделан глобальным.

> сообщения элементу с заданным именем, либо паттерна
> publish-subscribe (publish-subscribe, он же Observer,
> вообще часто является краеугольным камнем при построении
> пользовательских интерфейсов). Таким образом можно
> реализовать либо push-доставку информации объекту (WM_),
> либо pull-доставку (Observer). Второй вариант, имхо,
> значительно лучше сразу по ряду причин (если есть желание,
> могу здесь написать подробнее)

Да. Спасибо. Я посмотрел. Хорошие идеи. Немного похоже на то, что я хочу.
Только там гораздо круче.


> Касаемо твоего случая - могу предложить следующее. Для
> FillControls и DisplayControls в MFC есть очень удобный
> метод под названием UpdateData. ....

Да метод есть. Только не поможет это. UpdateData гоняет данные переменной-члена диалога туда-сюда. Т.е. из переменной диалога - в GlgItem объекта CWnd. Надо другое... Необходимо, например, чтобы в зависимости от данных одного диалога изменялись данные другого
объекта MFC, который вообще создан из другого CView, например, состояние CTreeCtrl. Другими словами, диалоги и другие CWnd объекты
должны взаимодействовать, а не контролы.

>.... описываешь, что нужно делать, на уровне формы, а не каждого
> элемента интерфейса.

Наверное, ты меня не понял. Я не собираюсь писать указанные обработчики
для элементов. Идея другая - общий обработчик FiilControls и DisplayControls
для ГРУПП ФОРМ, а не одной формы. Хотя последнее не исключается.
Можно комбинировать.

> Предвижу возражения насчет сконцентрированности кода.

Возражений вообще не может быть с моей стороны, т.к. я предложил
дискуссию, а не свою идею в качестве постулата.

> моем случае операции по изменению свойств элементов
> интерфейса не собраны в одном месте. Но подумай сам: а оно
> тебе надо? Какой выигрыш от этого ты получаешь?

Ты не понял, или я плохо объяснил. Из "одного места" должна управляться общая логика изменения свойств элементов интерфейса.

Посмотри следующий мой пост, плз.. Там я подробнее описываю, что мне надо.

Спасибо за пост.
<programming> Поиск 






Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach