Keygubatli
May 4th, 1999, 02:51 AM
I have an Static ActiveX Ctrl whith 3 EditCtrl.
The Tab-Stop order do not work.
what is wrong in this code:
Header:
class CDreiEditCtrl : public COleControl
{
DECLARE_DYNCREATE(CDreiEditCtrl)
// Konstruktor
public:
CDreiEditCtrl();
void CreateControls();
private:
CEdit *m_Edit[3];
.
.
}
source:
CDreiEditCtrl::CDreiEditCtrl()
{
InitializeIIDs(&IID_DDreiEdit, &IID_DDreiEditEvents);
EnableSimpleFrame();
m_Edit[0] =new CEdit;
m_Edit[1] =new CEdit;
m_Edit[2] =new CEdit;
}
int CDreiEditCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (COleControl::OnCreate(lpCreateStruct) == -1)
return -1;
CreateControls();
return 0;
}
void CDreiEditCtrl::CreateControls()
{
DWORD dwStyle=WS_CHILD | WS_BORDER | WS_VISIBLE|WS_TABSTOP;
CRect myRect;
CRect myScreenRect;
GetClientRect(myRect);
GetWindowRect(myScreenRect);
CWnd *pParent = GetParent();
pParent->ScreenToClient(myScreenRect);
int nSpace = 5;
int nWidth = myRect.Width();
int nWidthOfOne = (nWidth-nSpace*3)/3;
myScreenRect.right=myScreenRect.left+nWidthOfOne;
m_Edit[0]->CreateEx(WS_EX_CLIENTEDGE,
"EDIT", "", dwStyle, myScreenRect, pParent, 100);
myScreenRect.left=myScreenRect.right+nSpace;
myScreenRect.right=myScreenRect.left+nWidthOfOne;
m_Edit[1]->CreateEx(WS_EX_CLIENTEDGE,
"EDIT", "", dwStyle, myScreenRect, pParent, 101);
myScreenRect.left=myScreenRect.right+nSpace;
myScreenRect.right=myScreenRect.left+nWidthOfOne;
m_Edit[2]->CreateEx(WS_EX_CLIENTEDGE,
"EDIT", "", dwStyle, myScreenRect, pParent, 102);
// Tab Order
m_Edit[0]->SetWindowPos
(this,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);
m_Edit[1]->SetWindowPos
(m_Edit[0],0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);
m_Edit[2]->SetWindowPos
(m_Edit[1],0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);
}
The Tab-Stop order do not work.
what is wrong in this code:
Header:
class CDreiEditCtrl : public COleControl
{
DECLARE_DYNCREATE(CDreiEditCtrl)
// Konstruktor
public:
CDreiEditCtrl();
void CreateControls();
private:
CEdit *m_Edit[3];
.
.
}
source:
CDreiEditCtrl::CDreiEditCtrl()
{
InitializeIIDs(&IID_DDreiEdit, &IID_DDreiEditEvents);
EnableSimpleFrame();
m_Edit[0] =new CEdit;
m_Edit[1] =new CEdit;
m_Edit[2] =new CEdit;
}
int CDreiEditCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (COleControl::OnCreate(lpCreateStruct) == -1)
return -1;
CreateControls();
return 0;
}
void CDreiEditCtrl::CreateControls()
{
DWORD dwStyle=WS_CHILD | WS_BORDER | WS_VISIBLE|WS_TABSTOP;
CRect myRect;
CRect myScreenRect;
GetClientRect(myRect);
GetWindowRect(myScreenRect);
CWnd *pParent = GetParent();
pParent->ScreenToClient(myScreenRect);
int nSpace = 5;
int nWidth = myRect.Width();
int nWidthOfOne = (nWidth-nSpace*3)/3;
myScreenRect.right=myScreenRect.left+nWidthOfOne;
m_Edit[0]->CreateEx(WS_EX_CLIENTEDGE,
"EDIT", "", dwStyle, myScreenRect, pParent, 100);
myScreenRect.left=myScreenRect.right+nSpace;
myScreenRect.right=myScreenRect.left+nWidthOfOne;
m_Edit[1]->CreateEx(WS_EX_CLIENTEDGE,
"EDIT", "", dwStyle, myScreenRect, pParent, 101);
myScreenRect.left=myScreenRect.right+nSpace;
myScreenRect.right=myScreenRect.left+nWidthOfOne;
m_Edit[2]->CreateEx(WS_EX_CLIENTEDGE,
"EDIT", "", dwStyle, myScreenRect, pParent, 102);
// Tab Order
m_Edit[0]->SetWindowPos
(this,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);
m_Edit[1]->SetWindowPos
(m_Edit[0],0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);
m_Edit[2]->SetWindowPos
(m_Edit[1],0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);
}