В ответ на письмо от Tue, 10 Feb 2004 19:09:10 GMT.
Приветствую, !
> Т.е. в классе главного окна CMainWnd
> : public CFrameWnd описанна функция display(), которая все отрисовывает!
> Так вот, обнуружил — есть OnIdle(LONG lCount) — обрабатывает сообщения
> фонового режима, если я, конечно, правильно выражаюсь. Так вот, мое
> мнение, сюда то и надо воткнут вызов display(), но OnIdle описан в
> главном классе приложения
> Отсюда следует вопрос: как из одного класса вызвать функцию друго класса
> вообще и в данном примере в частноси! Т.е. что писать в
На деле функция будет вызываться не "из класса", а "из объекта класса". Поскольку Вы хотите из объекта типа "МоеПриложение" вызвать функцию объекта типа "ГлавноеОкно", то из этого следует, что приложение должно знать свое главное окно.
Я бы сперва поискал во Framework-е, предусмотрено ли там это? Поскольку главное окно всегда одно, то, возможно, в приложении есть какой-то метод или член, который на это окно указывает.
А если нет, то я бы сам предусмотрел нужные члены и методы. Допустим, у Вас там есть где-то инициализирующая часть, которая создает и объект приложения и объект окна, вот в ней-то можно все это и заложить.
Кстати, мне кажется, что событие OnIdle не подходит. Idle значит "свободен", "простаивает". Следовательно, это событие будет вызываться, когда программа простаивает. И наверняка не будет вызываться, когда вы даже мышку будете проносить над окном прграммы. Получится, что графика будет двигаться только когда от программы отвлекаются.
Наверное, лучше использовать thread-ы.
Димс.
Posted via RSDN NNTP Server 1.8 beta