![]() |
|
|
![]()
|
|
| xTr1m |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 692 Регистрация: 9.2.2005 Где: Москва Репутация: нет Всего: 1 |
А если я хочу поменять название этого окна из другого окна? Насколько я понимаю, нужен указатель подобно this, но как его получить? Спаибо. |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Смотря что такое CMyFrame.
Это сообщение отредактировал(а) Earnest - 28.9.2005, 17:54 -------------------- ... |
|||
|
||||
| Dreamer_0x01 |
|
|||
![]() Терминатор ![]() ![]() Профиль Группа: Участник Сообщений: 780 Регистрация: 14.4.2005 Где: Санкт-Петербург Репутация: 9 Всего: 12 |
точно так же.
это "родной" метод для CWnd. Если у тебя класс на каком-то этапе производный от него- точно так же и делаешь: Твой_класс * твой_объяет; твой_объект->SetWindowTest("new text"); -------------------- Нет ничего невозможного. Есть цели, и есть время и силы на их достижение. |
|||
|
||||
| xTr1m |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 692 Регистрация: 9.2.2005 Где: Москва Репутация: нет Всего: 1 |
Во многих учебниках приведен такой код
Получается, что в самом начале создается окно без названия. И в методах этого окна я могу писать так : this->SetWindowText("text"); А если я хочу изменить его заголовок из другого окна/класса, то как мне к нему обратиться ????->SetWindowText("new"); |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Доступ к главному фрейму приложения:
CWnd* AfxGetMainWnd(); и все дела. Из любого места (за исключением другого потока). -------------------- ... |
|||
|
||||
| kometa_triatlon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 384 Регистрация: 7.1.2005 Где: Киев Репутация: 1 Всего: 6 |
xTr1m
смотря что за окно и откуда. Нужно сначала залезть в тот, класс, который знает об этом окне. В смысле, что там есть его обьявление. Класс приложения получаешь через AfxGetApp(), класс фрейма уже сказали. А вообще нужен конкретный пример. -------------------- Всё очень просто: сказки обман, Солнечный остров скрылся в туман, Замков воздушных не носит земля, Кто-то ошибся, ты или я. -------------- Программирование - самое большое удовольствие, которое вы можете получить, будучи одетым. |
|||
|
||||
| takedo |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 501 Регистрация: 1.6.2005 Репутация: нет Всего: 3 |
есть еще очень хороший способ: семмага с WM_COPYDATA, передашь все что угодно. надо только знать HWND - есть такая функция ::GetSafeHwnd() - это HWND передаешь туда откуда посылаешь и посылаешь. получив указатель на фрейм можешь подставить его CFrame* a; a->GetSafeHwnd(); Только в окне где принимаешь надо предусмотреть обработчик WM_COPYDATA (OnCopyData). вот собственно и все...
Добавлено @ 13:21 не семмага, а мессага Добавлено @ 13:22 Рихтер. -------------------- я не гольфист - я хоккеист |
|||
|
||||
| Mad |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Эксперт Сообщений: 656 Регистрация: 18.10.2004 Где: Одесса Репутация: 2 Всего: 19 |
Вобщем смысл правильный, только не надо так все усложнять, надо сразу слать WM_SETTEXT (кстати метод CWnd::SetWindowText так и делает |
|||
|
||||
| The Thing |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 286 Регистрация: 6.9.2004 Репутация: 1 Всего: 3 |
просто передай окну Б, которое буде изменять заголовок окна, this окна А, у которого будет изеняться заголовок, или же его ОкноА_hWnd и тогда...
из окна Б:
или
-------------------- Правильность работы программы зависит от двух велечин. В нужном месте должны стоять нолик и еденичка. |
||||
|
|||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |