Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
LAPD
Сообщений: n/a
#1

Как получить hwnd элемента диалога с другого класса? - C++

30.06.2008, 12:16. Просмотров 1294. Ответов 4
Метки нет (Все метки)

Как получить hwnd элемента диалога с другого класса?

Допустим, сижу в другом классе диалоге
и при одном событии сделать недоступной некоторую кнопку другого диалога класса:

C++
1
2
3
4
5
6
7
8
9
10
void MyClass::MyFucntion()
{
...
CButton *myButton;
COtherDialog *otherDlg;
 
myButton=(CButton*)GetDlgItem(otherDlg, IDC_BUTTON)
myButton->EnableWindow(FALSE)
...
}
при компиляции не получается, Ошибка памяти (не туда read).
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.06.2008, 12:16     Как получить hwnd элемента диалога с другого класса?
Посмотрите здесь:
Как получить private переменную класса, функцей членом другого класса C++
C++ Как получить доступ к массиву из другого класса?
C++ Классы С++, получить доступ из одного класса к элементам другого
Как получить список контролов диалога? C++
Приём константных векторов класса, как аргументов в методе другого класса C++
C++ Как переместить из стека одного класса в массив другого класса?
Как сделать, чтобы функция класса могла работать с обьектами другого класса C++
C++ Как дополнить функционал класса из другого класса
Как получить доступ к методам класса, который содержится в векторе класса C++
C++ Класс как параметр другого класса
C++ Как объявить другом конкретный метод другого класса?
C++ Как создать объект с конструктором в интерфейсе другого класса?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
AmbX
0 / 0 / 0
Регистрация: 21.12.2007
Сообщений: 122
30.06.2008, 19:00     Как получить hwnd элемента диалога с другого класса? #2
myButton = (CButton*)otherDlg->GetDlgItem(IDC_BUTTON);
LAPD
Сообщений: n/a
02.07.2008, 13:27     Как получить hwnd элемента диалога с другого класса? #3
не пашет все равно

Видимо при COtherDlg *otherDlg;
неверно передает hwnd
как справиться, как передать hwnd???
Andir
0 / 0 / 0
Регистрация: 04.11.2007
Сообщений: 145
03.07.2008, 12:44     Как получить hwnd элемента диалога с другого класса? #4
Привет !

Ну и логично, что ты хотел ... передай своей функции вначале этот otherDlg, а потом юзай ...
Как hwnd диалога(CDialog::m_hwnd) получить, это и в Msdn написано, но разницы что передавать: hWnd или указатель на второй диалог ... это не важно ...
C++
1
2
3
4
5
6
7
8
void MyClass::MyFunction(CDialog *pOtherDlg)
{
...
CButton *pMyBtn;
pMyBtn=(CButton*)GetDlgItem(otherDlg, IDC_BUTTON);
pMyBtn->EnableWindow(FALSE);
...
}
А лучше поучись программировать на WINAPI и тогда ТАКИХ вопросов и задавать не станешь ... :-(
Извини, если задел. ;-)

Удачи, Andir !
Andir
0 / 0 / 0
Регистрация: 04.11.2007
Сообщений: 145
03.07.2008, 12:52     Как получить hwnd элемента диалога с другого класса? #5
Ая яй ...
Про WINAPI я оказывается зря сказал, запутал народ с HWND ... только когда запостил, дошло что вопрос совсем не про HWND ...
Вопрос некорректно поставлен ...
C++
1
2
3
4
5
6
7
8
9
10
void MyClass::MyFunction(CDialog *pOtherDlg)
{
...
CButton *pMyBtn;
// ---> Извиняй пропёрся немножко ... --->
pMyBtn=(CButton*)pOtherDlg->GetDlgItem(IDC_BUTTON);
// <--- <---
pMyBtn->EnableWindow(FALSE);
...
}
Извиняюсь ...
Yandex
Объявления
03.07.2008, 12:52     Как получить hwnd элемента диалога с другого класса?
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru