Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как перекидывать курсор 
:(
    Опции темы
Autumn
Дата 1.5.2006, 11:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 3.4.2006

Репутация: нет
Всего: нет



У меня MDI-приложение. Для каждого документа есть окно View и диалоговое окно. Как перекидывать курсор между ними. Скажем в диалоговом окне нажимаем кнопочку, нужно, чтобы курсор указал на определенную точку во View. 
PM MAIL   Вверх
Бугемот
Дата 1.5.2006, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 66
Регистрация: 27.12.2005

Репутация: 1
Всего: 1



в конструктор диалога можно передать указатель на Parent. заведи во View public метод и через этот указатель на View делай все что надо  
PM MAIL   Вверх
Autumn
Дата 6.5.2006, 21:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 3.4.2006

Репутация: нет
Всего: нет



Когда указываю родителя, совсем не то получется. А чтобы передать в качестве параметра в диалог указатель на окно представления CMyView *pView, надо естественно прописать    #include "DreemlarView.h", а как только я это делаю, компилятор ругается на строку CDreemlarDoc* GetDocument(); в DreemlarView.h.
Короче приходится делать через пень колоду. Сначала передавать управление public методу документа, а тот у меня уже вызывает public метод класса представления. Но это ведь через пень-колоду. Хочется сразу из диалога вызывать View


 
PM MAIL   Вверх
Earnest
Дата 10.5.2006, 16:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



Не нужно создавать лишних зависимостей. 
Чтобы переместить курсор в другое окно, нужно всего лишь вызвать SetFocus, а это функция CWnd (т.е. даже CView не нужно). 
Чтобы переместить курсор в нужную позицию, нужно получить эту позицию в координатах экрана и вызвать SetCursorPos(x,y) (это глобальная функция).

Найти вью можно так: ((CFrameWnd*)AfxGetMainWnd())->GetActiveFrame()->GetActiveView(). Если в диалоге есть доступ к документу, и вью у каждого документа только один, то можно его получить функциями GetFirstViewPosition - GetNextView.
 


--------------------
...
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0579 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.