CDialogBar SetWindowText fails
Simon Young -- young_simon@jpmorgan.com
Wednesday, November 27, 1996
Environment: NT 3.51,VC++ 4.0
When I do SetWindowText for a CDialogBar just after creating it, the caption
shows the title I want.
However, when I set it subsequently, the text refuses to change.
Any ideas?
Simon
Dong Chen -- d_chen@ix.netcom.com
Thursday, November 28, 1996
At 06:21 AM 11/27/96, you wrote:
>Environment: NT 3.51,VC++ 4.0
>
>When I do SetWindowText for a CDialogBar just after creating it, the caption
>shows the title I want.
>
>However, when I set it subsequently, the text refuses to change.
>
>Any ideas?
>
>Simon
>
>
>
I am using VC++ 4.2b under Windows 95. No problem here. I can change the
title by an menu command at any time. And I can change it back and forth
within one function.
In the mainframe file, I have:
if (!m_wndDlgBar.Create(this, IDD_DIALOG1,
CBRS_LEFT|CBRS_TOOLTIPS|CBRS_FLYBY, IDD_DIALOG1))
{
TRACE0("Failed to create DlgBar\n");
return -1; // fail to create
}
m_wndDlgBar.SetWindowText("change to this");
// do sth.
m_wndDlgBar.SetWindowText("stay here");
And in some menu handler, I have:
void CMainFrame::OnSomethingHappened()
{
m_wndDlgBar.SetWindowText("another title");
}
Shaju Mathew -- shajum@hpptc51.rose.hp.com
Sunday, December 01, 1996
Did you override PreCreateWindow()??
BOOL CYourDlgBar::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
cs.style &= ~FWS_ADDTOTITLE;//Overridden so that we can set the title
...etc...
return CDialogBar::PreCreateWindow(cs);
}
>
> Environment: NT 3.51,VC++ 4.0
>
> When I do SetWindowText for a CDialogBar just after creating it, the caption
> shows the title I want.
>
> However, when I set it subsequently, the text refuses to change.
>
> Any ideas?
>
> Simon
>
>
PS: You'll have to manually do this since ClassWiz's not THAT smart..
Good luck
--
***********************************************************************
.---. .---.
Shaju Mathew /" " \ WWW / " "\ Off:(916)785-9018
Performance Technology Lab / / "" \(*|*)/ "" \ \
Hewlett-Packard Company ////// '. V .` \\\\\\ Home:(916)722-4576
8000, Foothills Blvd //// / // : """ : \\ \ \\\\
MS 5723, Roseville // / / /`.""" '\ \ \ \\Fax:(916)785-1264
CA 95747-5723 // //.".\\ \\
------------- -UU---UU---------------
Shaju_Mathew@hp.com '//|||\\`
'' ``
***********************************************************************
Simon Young -- young_simon@jpmorgan.com
Wednesday, December 04, 1996
>Did you override PreCreateWindow()??
>
>BOOL CYourDlgBar::PreCreateWindow(CREATESTRUCT& cs)
>{
> // TODO: Modify the Window class or styles here by modifying
> // the CREATESTRUCT cs
> cs.style &= ~FWS_ADDTOTITLE;//Overridden so that we can set the title
>...etc...
> return CDialogBar::PreCreateWindow(cs);
>}
>>
>> Environment: NT 3.51,VC++ 4.0
>>
>> When I do SetWindowText for a CDialogBar just after creating it, the caption
>> shows the title I want.
>>
>> However, when I set it subsequently, the text refuses to change.
I tried that. I even tried OR'ing the FWS_ADDTOTITLE in rather than AND'ing it
out :-)
It still doesn't work.
Simon
Kostya Sebov -- sebov@is.kiev.ua
Monday, December 09, 1996
> >Did you override PreCreateWindow()??
> >
> >BOOL CYourDlgBar::PreCreateWindow(CREATESTRUCT& cs)
> >{
> > // TODO: Modify the Window class or styles here by modifying
> > // the CREATESTRUCT cs
> > cs.style &= ~FWS_ADDTOTITLE;//Overridden so that we can set the title
> >...etc...
> > return CDialogBar::PreCreateWindow(cs);
> >}
> >>
> >> Environment: NT 3.51,VC++ 4.0
> >>
> >> When I do SetWindowText for a CDialogBar just after creating it, the caption
> >> shows the title I want.
> >>
> >> However, when I set it subsequently, the text refuses to change.
>
> I tried that. I even tried OR'ing the FWS_ADDTOTITLE in rather than AND'ing it
> out :-)
>
> It still doesn't work.
>
> Simon
>
>
Just an idea... Try:
pYourDialogBar->GetParentFrame()->SetWindowText( _T("The caption you prefer"));
The thing is that usually floating control bars are embedded in the CMiniDockFrame
(or something like this) and that's the frame caption that carries the title.
HTH
---
Kostya Sebov.
----------------------------------------------------------------------------
Tel: (38 044) 266-6387 | Fax: (38 044) 266-6195 | E-mail: sebov@is.kiev.ua
| Вернуться в корень Архива
|