![]() |
|
![]() ![]() ![]() |
|
Autumn |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 3.4.2006 Репутация: нет Всего: нет |
У меня MDI-приложение. Для каждого документа есть окно View и диалоговое окно. Как перекидывать курсор между ними. Скажем в диалоговом окне нажимаем кнопочку, нужно, чтобы курсор указал на определенную точку во View.
|
|||
|
||||
Бугемот |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 66 Регистрация: 27.12.2005 Репутация: 1 Всего: 1 |
в конструктор диалога можно передать указатель на Parent. заведи во View public метод и через этот указатель на View делай все что надо
|
|||
|
||||
Autumn |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 3.4.2006 Репутация: нет Всего: нет |
Когда указываю родителя, совсем не то получется. А чтобы передать в качестве параметра в диалог указатель на окно представления CMyView *pView, надо естественно прописать #include "DreemlarView.h", а как только я это делаю, компилятор ругается на строку CDreemlarDoc* GetDocument(); в DreemlarView.h.
Короче приходится делать через пень колоду. Сначала передавать управление public методу документа, а тот у меня уже вызывает public метод класса представления. Но это ведь через пень-колоду. Хочется сразу из диалога вызывать View |
|||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Не нужно создавать лишних зависимостей.
Чтобы переместить курсор в другое окно, нужно всего лишь вызвать SetFocus, а это функция CWnd (т.е. даже CView не нужно). Чтобы переместить курсор в нужную позицию, нужно получить эту позицию в координатах экрана и вызвать SetCursorPos(x,y) (это глобальная функция). Найти вью можно так: ((CFrameWnd*)AfxGetMainWnd())->GetActiveFrame()->GetActiveView(). Если в диалоге есть доступ к документу, и вью у каждого документа только один, то можно его получить функциями GetFirstViewPosition - GetNextView. -------------------- ... |
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |