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

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


OLE controls and Tab

Vijai Singh -- vsingh@m-net.arbornet.org
Wednesday, November 27, 1996

Environment: Win 95, Visual C++ 4.2 flat

>Hi,
>
>I am trying to put a modeless dialog box as a child of another dialog box,
>the child dialog box has CONTROL property set (available during designing
>of dialog box, in the property box) and it's parent dialog has CONTROL PARENT
>style set. Then I drop in few normal(Not OLE or VBX) controls in the dialogs.
>the dialogs work fine and the child dialog works just like another control 
>in the dialog box and doesn't blocks the tab.
>
>But now if I drop in a OLE control in the child dialog box it blocks the TAB
>and focus will never come out of the child dialog box.
>
>what is this special behaviour with OLE controls, and how can it be overcome.
>keeping every thing else same specially control and control parent styles.
>
>I am using Visual C++ 4.2 and don't have MSDN
>
>Thanks




Logan Gilbert -- lgilbert@maxserv.com
Wednesday, December 04, 1996

I've had a problem similiar to this and I resolved it by doing this:=20

Subclass the controls you insert in your dialog ( create your own class =
derived from CEdit for example ) and catch the Tabs within your control =
by catching WM_KEYDOWN messages and doing the following bit of code:

void CMyEditCtl::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
{
	if ( (nChar =3D=3D VK_TAB) && (GetKeyState(VK_SHIFT) < 0) ) //Shift-Tab =
was pressed
   	{
      		((CDialog*)GetOwner())->PrevDlgCtrl();
   	}
   	else if (nChar =3D=3D VK_TAB)  // Tab was pressed
   	{
      		((CDialog*)GetOwner())->NextDlgCtrl();
      }=20
}

This maybe of some help.  My problem was with a OLE Control, inserted =
into a container.  The control fires off a modeless dialog.  The tab =
messages get sucked up by the container of the control, not by the =
control or its modeless dialog.
----------
From: 	Vijai Singh
Sent: 	Wednesday, November 27, 1996 2:23 PM
To: 	mfc-l@netcom.com
Subject: 	OLE controls and Tab

Environment: Win 95, Visual C++ 4.2 flat

>Hi,
>
>I am trying to put a modeless dialog box as a child of another dialog =
box,
>the child dialog box has CONTROL property set (available during =
designing
>of dialog box, in the property box) and it's parent dialog has CONTROL =
PARENT
>style set. Then I drop in few normal(Not OLE or VBX) controls in the =
dialogs.
>the dialogs work fine and the child dialog works just like another =
control=20
>in the dialog box and doesn't blocks the tab.
>
>But now if I drop in a OLE control in the child dialog box it blocks =
the TAB
>and focus will never come out of the child dialog box.
>
>what is this special behaviour with OLE controls, and how can it be =
overcome.
>keeping every thing else same specially control and control parent =
styles.
>
>I am using Visual C++ 4.2 and don't have MSDN
>
>Thanks




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