powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / MFC && CDialog
11 сообщений из 11, страница 1 из 1
MFC && CDialog
    #34555805
Oleg_2006
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я использую MFC 6.
Стантартно создаю диалоговое окно.
Подскажите чайнику, как можно изменить текст заголовка окна,
Я пробовал Так
Класс CD_PrCon производный от CPropertyPage.

char NAME[]= "GGGGGGGGGGGGGGGGG";
int CD_PrCon::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
lpCreateStruct->lpszName= NAME;
if (CPropertyPage::OnCreate(lpCreateStruct) == -1)
return -1;
return 0;
}

Итак пробовал

BOOL CD_PrCon::OnInitDialog()
{
// this->SetWindowText( "ВВод нового пользователя");
CPropertyPage::OnInitDialog();
CWnd * pWnd = this;
pWnd-> SetWindowText(_T("GGGGGGGGGGGGGGGGG"));
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}

Я не опытный программист, не будте со мной суровы !!
...
Рейтинг: 0 / 0
MFC && CDialog
    #34555936
Фотография Cerebrum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Текст любого окна легко меняется по SetWindowText(), главное правильно указать его хэндл
--------------------------------------------------------------
[не претендую на уникальность]
...
Рейтинг: 0 / 0
MFC && CDialog
    #34556806
Oleg_2006
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сеньер Cerebrum. признателен за внимание. Вы правы, я часто использую
SetWindowsText() для определения поля CEdit. но в данном случае надо изменить
хаголовок (шапку окна) ????
...
Рейтинг: 0 / 0
MFC && CDialog
    #34556829
Фотография Cerebrum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Oleg_2006Сеньер Cerebrum. признателен за внимание. Вы правы, я часто использую
SetWindowsText() для определения поля CEdit. но в данном случае надо изменить
хаголовок (шапку окна) ????
какая разница? окно диалога имеет в качестве базового класса не CWnd, а ССамалет?
...
Рейтинг: 0 / 0
MFC && CDialog
    #34557124
Oleg_2006
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
-- какая разница? окно диалога имеет в качестве базового класса не CWnd, а ССамалет
Извините, а ССамалет - почему не летучий змий.
я чайник. не понятна причина , отчего не срабатывает

char NAME[]= "GGGGGGGGGGGGGGGGG";
iint CD_PrCon::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
lpCreateStruct->lpszName= NAME;
if (CPropertyPage::OnCreate(lpCreateStruct) == -1)
return -1;
return 0;
}

Если Вы можете привести простенький пример - будте любезны!
...
Рейтинг: 0 / 0
MFC && CDialog
    #34557165
Фотография Cerebrum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
void sunfunc_in_dialog_code_body()
{
	HWND hDialog = GetSafeHwnd();
	if(hDialog)
		::SetWindowText(hDialog, L"Any Text You Want");
	else
		ASSERT(false);
}
--------------------------------------------------------------
[не претендую на уникальность]
...
Рейтинг: 0 / 0
MFC && CDialog
    #34558155
Oleg_2006
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сеньер Cerebrum. извините,
я сделлал так CD_PrCon -производный от CPropertyPage.

void CD_PrCon:: sunfunc_in_dialog_code_body()
{
HWND hDialog = GetSafeHwnd();

sprintf(Buf, "sunfunc_in_dialog_code_body %d",hDialog ); AFXMB
if(hDialog)
// ::SetWindowText(hDialog, L"Any Text You Want");
::SetWindowText(hDialog, "Any Text You Want");
else
ASSERT(false);
}

Вызов -------- OnPaint()
{ ....
sunfunc_in_dialog_code_body();
......
hDialog != 0 Все прокрутилось но ничего не последовало.

Я что-то сделал не так??? Что ,? С уважением !
...
Рейтинг: 0 / 0
MFC && CDialog
    #34558459
Фотография Cerebrum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К чему эта фраза "сеньер", я между прочим пытаюсь помочь тебе. Завязывай с фамильярностью или научись правильно писать это слово :-). Пожалуйста пользуйся тегами, читать твой код неудобно!

Почему ты вызываешь в OnPaint смену текста заголовка, какой в этом смысл? Ведь это событие вызывается очень часто.

Обрати внимание на структуру m_psp для CPropertyPage. Возможно там скрываются ответы на все твои вопросы.

Сделай кнопку на CDialog и прикрути к ней мой код, чтобы отработывал при нажатии, расскажи что получиться
--------------------------------------------------------------
[не претендую на уникальность]
...
Рейтинг: 0 / 0
MFC && CDialog
    #34561989
Oleg_2006
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извините меня за фамильярность - это не преднамеренно. Я прокрутил тест на СDialog.
Все хорошо, все сработало - СПАСИБО.Это мне тоже понадобится. С классом CpopertyPage ваш фрагмет кода не проходит. Следует делать немного не так. Если Вас это интересует. я пришлю вам соответствующий код. С Уважением GOG
...
Рейтинг: 0 / 0
MFC && CDialog
    #34563160
Фотография Cerebrum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Oleg_2006Извините меня за фамильярность - это не преднамеренно. Я прокрутил тест на СDialog.
Все хорошо, все сработало - СПАСИБО.Это мне тоже понадобится. С классом CpopertyPage ваш фрагмет кода не проходит. Следует делать немного не так. Если Вас это интересует. я пришлю вам соответствующий код. С Уважением GOG
это интересует всех, выкладывай сюда
...
Рейтинг: 0 / 0
MFC && CDialog
    #34564816
Oleg_2006
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вы можете динамически менять Заголовоки окон класса CPropertyPage следующим образом
- описать метод , где IMPLEMENT_DYNAMIC(CPrSheet, CPropertySheet)

BOOL CPrSheet::SetPageTitle (int nPage, LPTSTR pszText)
{
CTabCtrl* pTab = GetTabControl();
ASSERT (pTab);

TC_ITEM ti;
ti.mask = TCIF_TEXT;
ti.pszText = pszText;
VERIFY (pTab->SetItem (nPage, &ti));

return TRUE;
}

Параметры int nPage - Номер страницы
LPTSTR pszText - Новый заголовок.
Вызвать в нужный момент -- SetPageTitle (int nPage, LPTSTR pszText)
Проверил - делает свое черное дело.

С уважением GOG.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / MFC && CDialog
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]