|
|
|
MFC && CDialog
|
|||
|---|---|---|---|
|
#18+
Я использую 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 } Я не опытный программист, не будте со мной суровы !! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2007, 16:36 |
|
||
|
MFC && CDialog
|
|||
|---|---|---|---|
|
#18+
Текст любого окна легко меняется по SetWindowText(), главное правильно указать его хэндл -------------------------------------------------------------- [не претендую на уникальность] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2007, 17:16 |
|
||
|
MFC && CDialog
|
|||
|---|---|---|---|
|
#18+
Сеньер Cerebrum. признателен за внимание. Вы правы, я часто использую SetWindowsText() для определения поля CEdit. но в данном случае надо изменить хаголовок (шапку окна) ???? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2007, 09:17 |
|
||
|
MFC && CDialog
|
|||
|---|---|---|---|
|
#18+
Oleg_2006Сеньер Cerebrum. признателен за внимание. Вы правы, я часто использую SetWindowsText() для определения поля CEdit. но в данном случае надо изменить хаголовок (шапку окна) ???? какая разница? окно диалога имеет в качестве базового класса не CWnd, а ССамалет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2007, 09:25 |
|
||
|
MFC && CDialog
|
|||
|---|---|---|---|
|
#18+
-- какая разница? окно диалога имеет в качестве базового класса не CWnd, а ССамалет Извините, а ССамалет - почему не летучий змий. я чайник. не понятна причина , отчего не срабатывает char NAME[]= "GGGGGGGGGGGGGGGGG"; iint CD_PrCon::OnCreate(LPCREATESTRUCT lpCreateStruct) { lpCreateStruct->lpszName= NAME; if (CPropertyPage::OnCreate(lpCreateStruct) == -1) return -1; return 0; } Если Вы можете привести простенький пример - будте любезны! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2007, 11:00 |
|
||
|
MFC && CDialog
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. [не претендую на уникальность] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2007, 11:11 |
|
||
|
MFC && CDialog
|
|||
|---|---|---|---|
|
#18+
Сеньер 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 Все прокрутилось но ничего не последовало. Я что-то сделал не так??? Что ,? С уважением ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2007, 15:05 |
|
||
|
MFC && CDialog
|
|||
|---|---|---|---|
|
#18+
К чему эта фраза "сеньер", я между прочим пытаюсь помочь тебе. Завязывай с фамильярностью или научись правильно писать это слово :-). Пожалуйста пользуйся тегами, читать твой код неудобно! Почему ты вызываешь в OnPaint смену текста заголовка, какой в этом смысл? Ведь это событие вызывается очень часто. Обрати внимание на структуру m_psp для CPropertyPage. Возможно там скрываются ответы на все твои вопросы. Сделай кнопку на CDialog и прикрути к ней мой код, чтобы отработывал при нажатии, расскажи что получиться -------------------------------------------------------------- [не претендую на уникальность] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2007, 16:12 |
|
||
|
MFC && CDialog
|
|||
|---|---|---|---|
|
#18+
Извините меня за фамильярность - это не преднамеренно. Я прокрутил тест на СDialog. Все хорошо, все сработало - СПАСИБО.Это мне тоже понадобится. С классом CpopertyPage ваш фрагмет кода не проходит. Следует делать немного не так. Если Вас это интересует. я пришлю вам соответствующий код. С Уважением GOG ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2007, 16:45 |
|
||
|
MFC && CDialog
|
|||
|---|---|---|---|
|
#18+
Oleg_2006Извините меня за фамильярность - это не преднамеренно. Я прокрутил тест на СDialog. Все хорошо, все сработало - СПАСИБО.Это мне тоже понадобится. С классом CpopertyPage ваш фрагмет кода не проходит. Следует делать немного не так. Если Вас это интересует. я пришлю вам соответствующий код. С Уважением GOG это интересует всех, выкладывай сюда ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2007, 08:48 |
|
||
|
MFC && CDialog
|
|||
|---|---|---|---|
|
#18+
Вы можете динамически менять Заголовоки окон класса 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2007, 14:52 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=34555936&tid=2028777]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
163ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
| others: | 206ms |
| total: | 453ms |

| 0 / 0 |
