15 мая 2023 года "Исходники.РУ" отмечают своё 23-летие!
Поздравляем всех причастных и неравнодушных с этим событием!
И огромное спасибо всем, кто был и остаётся с нами все эти годы!

Главная Форум Журнал Wiki DRKB Discuz!ML Помощь проекту


Resizing an OLE control

Ballerini Luca -- ballerini@esalab.it
Friday, December 13, 1996

Environment: VC++ 4.2b, Win 95, NT 3.51

Hallo,
I have a tiny problem with my MDI application. At startup I can't get my OLE
control (derived from CWnd) fitting my CFormView (parent of the control)
client area.
Here is the OnSize overridden of my CFormView class:

void CMyFormView::OnSize(UINT nType, int cx, int cy) 
{
	CMyFormView::OnSize(nType, cx, cy);
	
	// TODO: Add your message handler code here

	CRect size;
	GetClientRect(&size);
	
	if(IsWindow(m_grid.m_hWnd)) m_grid.MoveWindow(&size);//m_grid is my OLE control
	
}

the first time the view is shown, it contains the control not fitting its
client area.
As soon as I resize the view everything works fine.


Any suggestion about?

Thanks.


******************************
Ballerini Luca Stefano
home: +39 (0)721-479154
ballerini@esalab.it
Esalab engineering and service
+39 (0)721-414634
******************************







Syed -- sxs296@psu.edu
Monday, December 16, 1996

At 06:48 PM 12/13/96 +0100, you wrote:
>Environment: VC++ 4.2b, Win 95, NT 3.51
>
>Hallo,
>I have a tiny problem with my MDI application. At startup I can't get my OLE
>control (derived from CWnd) fitting my CFormView (parent of the control)
>client area.
>Here is the OnSize overridden of my CFormView class:
>
>void CMyFormView::OnSize(UINT nType, int cx, int cy) 
>{
>	CMyFormView::OnSize(nType, cx, cy);
>	
>	// TODO: Add your message handler code here
>
>	CRect size;
>	GetClientRect(&size);
>	
>	if(IsWindow(m_grid.m_hWnd)) m_grid.MoveWindow(&size);//m_grid is my OLE
control
What I did was:-
CRect size(0,0,cx,cy);
if (m_grid.GetSafeHandle()) m_grid.MoveWindows(size);

The code above performs flawlessly in my app.





Roma -- roma@neonet.lv
Tuesday, December 17, 1996

Luca Ballerini wrote:
> 
> Environment: VC++ 4.2b, Win 95, NT 3.51
> 
> Hallo,
> I have a tiny problem with my MDI application. At startup I can't get my OLE
> control (derived from CWnd) fitting my CFormView (parent of the control)
> client area.
...
> the first time the view is shown, it contains the control not fitting its
> client area.
> As soon as I resize the view everything works fine.
> 
> Any suggestion about?
> 
 Hi! You are probably creating your control in the OnInitialUpdate(),
right?
During the creation of the MDI child there are two calls to OnSize()
member, 
both BEFORE OnInitialUpdate().
 Try to create your control in the OnCreate() right after the call to
the base class
OnCreate(). At least, I've tried this in my VC 4.0 and it works.

BTW, this is kind of new in VC++40. In VC 1.5 and 1.51 one of the
OnSize() calls 
occures AFTER OnInitialUpdate().

-Roman



Cleve -- cleve@buzard.com
Wednesday, December 18, 1996

Try doing the size in your OnInitialUpdate.

----------
From:  Luca Ballerini[SMTP:ballerini@esalab.it]
Sent:  Monday, December 16, 1996 3:20 AM
To:  mfc-l@netcom.com
Subject:  Resizing an  OLE control

Environment: VC++ 4.2b, Win 95, NT 3.51

Hallo,
I have a tiny problem with my MDI application. At startup I can't get 
my OLE
control (derived from CWnd) fitting my CFormView (parent of the 
control)
client area.
Here is the OnSize overridden of my CFormView class:

void CMyFormView::OnSize(UINT nType, int cx, int cy)
{
	CMyFormView::OnSize(nType, cx, cy);
	
	// TODO: Add your message handler code here

	CRect size;
	GetClientRect(&size);
	
	if(IsWindow(m_grid.m_hWnd)) m_grid.MoveWindow(&size);//m_grid is my 
OLE control
	
}

the first time the view is shown, it contains the control not fitting 
its
client area.
As soon as I resize the view everything works fine.


Any suggestion about?

Thanks.


******************************
Ballerini Luca Stefano
home: +39 (0)721-479154
ballerini@esalab.it
Esalab engineering and service
+39 (0)721-414634
******************************










| Вернуться в корень Архива |