Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
18.04.2003, 20:17
|
|||
---|---|---|---|
|
|||
почему не работает IsKindOf ? |
|||
#18+
void SetButtonDesabled(CWnd* oWin) { CWnd* pwndChild = oWin->GetWindow(GW_CHILD); while (pwndChild) { if (pwndChild->IsKindOf(RUNTIME_CLASS( CButton ))) pwndChild->EnableWindow(false); pwndChild = pwndChild->GetNextWindow(); } } ... |
|||
:
Нравится:
Не нравится:
|
|||
|
21.04.2003, 12:06
|
|||
---|---|---|---|
|
|||
почему не работает IsKindOf ? |
|||
#18+
Дело в том, что GetWindow возвращает указатель на CTempWnd , которое наверняка не от CObject . Последующее преобразование указателья на другой тип для IsKindOf не имеет значения. От этого объект не меняеться. Так что именно IsKindOf и правильно работает. А насчет GetWindow и в MSDN написанно , что возвращает временный указатель. ( Я думаю здесь и кроеться все ) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
21.04.2003, 14:57
|
|||
---|---|---|---|
|
|||
почему не работает IsKindOf ? |
|||
#18+
Но существует ли тогда возможность определения control's class без включения механизма DDX_Control - влом переменные прописывать... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
21.04.2003, 16:01
|
|||
---|---|---|---|
|
|||
почему не работает IsKindOf ? |
|||
#18+
Если тебе нужно решить конкретную задачу , например , перевести кнопки в disable. то достаточно запомнить их идентификаторы, и через GetDlgItem( ID_) получить указатели на кнопки и делать нужное . Код: plaintext 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
21.04.2003, 16:29
|
|||
---|---|---|---|
|
|||
почему не работает IsKindOf ? |
|||
#18+
нарисовал кучу dialog'ов-братьев для TabCtrl'ов , на каждом, сам понимашь туча edit'ов, button'ов и т.п. и т.д. Ну и теперь в зависимости от "внешних условий" надо менять их состояние. вот и решил написать типа универсальную функцию - и ну никак...Неужели великий и могучий не позволяет этого ?! Просто сюр какой-то. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
21.04.2003, 18:40
|
|||
---|---|---|---|
|
|||
почему не работает IsKindOf ? |
|||
#18+
Конечно позволяет ! Создать класс с аналогичной функцией возвращающий имя класса. И новые классы порождать от своего тоже. И все как было ! ... |
|||
:
Нравится:
Не нравится:
|
|||
|
21.04.2003, 18:59
|
|||
---|---|---|---|
|
|||
почему не работает IsKindOf ? |
|||
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.04.2003, 12:57
|
|||
---|---|---|---|
|
|||
почему не работает IsKindOf ? |
|||
#18+
Да вот еще что ! Если Вы для каждой кнопки создадите member control( Class Wizard это очень красиво позволяет ) то ввиду того , что соответствующие объект уже будет существовать, то написанный вами код будет нормально функционировать ! ... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.04.2003, 13:37
|
|||
---|---|---|---|
|
|||
почему не работает IsKindOf ? |
|||
#18+
прописывать все переменные, которые мне в-общем-то не нужны, как-то...неправильно. Все-таки что-то я не догоняю. Очевидно, что во время исполнения классы известны, но без дополнительных ухищрений узнать их никак нельзя. Несправедливо это. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=57&mobile=1&tid=2036355]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
174ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 285ms |
0 / 0 |