|
почему не работает 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(); } } ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2003, 20:17 |
|
почему не работает IsKindOf ?
|
|||
---|---|---|---|
#18+
Дело в том, что GetWindow возвращает указатель на CTempWnd , которое наверняка не от CObject . Последующее преобразование указателья на другой тип для IsKindOf не имеет значения. От этого объект не меняеться. Так что именно IsKindOf и правильно работает. А насчет GetWindow и в MSDN написанно , что возвращает временный указатель. ( Я думаю здесь и кроеться все ) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2003, 12:06 |
|
почему не работает IsKindOf ?
|
|||
---|---|---|---|
#18+
Но существует ли тогда возможность определения control's class без включения механизма DDX_Control - влом переменные прописывать... ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2003, 14:57 |
|
почему не работает IsKindOf ?
|
|||
---|---|---|---|
#18+
Если тебе нужно решить конкретную задачу , например , перевести кнопки в disable. то достаточно запомнить их идентификаторы, и через GetDlgItem( ID_) получить указатели на кнопки и делать нужное . Код: plaintext 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2003, 16:01 |
|
почему не работает IsKindOf ?
|
|||
---|---|---|---|
#18+
нарисовал кучу dialog'ов-братьев для TabCtrl'ов , на каждом, сам понимашь туча edit'ов, button'ов и т.п. и т.д. Ну и теперь в зависимости от "внешних условий" надо менять их состояние. вот и решил написать типа универсальную функцию - и ну никак...Неужели великий и могучий не позволяет этого ?! Просто сюр какой-то. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2003, 16:29 |
|
почему не работает IsKindOf ?
|
|||
---|---|---|---|
#18+
Конечно позволяет ! Создать класс с аналогичной функцией возвращающий имя класса. И новые классы порождать от своего тоже. И все как было ! ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2003, 18:40 |
|
почему не работает IsKindOf ?
|
|||
---|---|---|---|
#18+
Да вот еще что ! Если Вы для каждой кнопки создадите member control( Class Wizard это очень красиво позволяет ) то ввиду того , что соответствующие объект уже будет существовать, то написанный вами код будет нормально функционировать ! ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2003, 12:57 |
|
почему не работает IsKindOf ?
|
|||
---|---|---|---|
#18+
прописывать все переменные, которые мне в-общем-то не нужны, как-то...неправильно. Все-таки что-то я не догоняю. Очевидно, что во время исполнения классы известны, но без дополнительных ухищрений узнать их никак нельзя. Несправедливо это. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2003, 13:37 |
|
|
start [/forum/search_topic.php?author=Barbarian&author_mode=last_topics&do_search=1]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
152ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
others: | 440ms |
total: | 697ms |
0 / 0 |