I wish to use port within the other child dialogs.
I have 3 Dialogs (IDD_WEBX1, IDD_WEBX2, IDD_OPTIONS
and within the main Dialog I have:
BOOL CAdelphiX2Dlg::OnInitDialog()
{
CDialog::OnInitDialog();
// System stuff here
// TODO: Add extra initialization here
m_cTab.GetWindowRect(tabRect);
m_rSettingsRect.left = 2; // Set the size and location of the child Window
m_rSettingsRect.top = 40;
m_rSettingsRect.right = tabRect.Width() - 4;
m_rSettingsRect.bottom = tabRect.Height() - 40;
m_dWeb1a.Create(IDD_WEBX1, this); // Create the child windows for the main
m_dWeb2a.Create(IDD_WEBX2, this);
m_dOptions.Create(IDD_OPTIONS, this);
ShowWindowNumber(0); // This is redundant with the default value
TCITEM tabItem; // Set the titles for each tab
tabItem.mask = TCIF_TEXT;
tabItem.pszText = _T(" Web-1 ");
m_cTab.InsertItem(0, &tabItem);
tabItem.pszText = _T(" Web-2 ");
m_cTab.InsertItem(1, &tabItem);
tabItem.pszText = _T(" Options ");
m_cTab.InsertItem(2, &tabItem);
return TRUE;
}
void CAdelphiX2Dlg::ShowWindowNumber(int number)
{
int windowCount = 3; // 3 tab windows
if ((number >= 0) && (number < windowCount)) // Validate the parameter
{
CDialog *m_dPointer[3]; // Create and assign pointers to each window
m_dPointer[0] = &m_dWeb1a;
m_dPointer[1] = &m_dWeb2a;
m_dPointer[2] = &m_dOptions;
for (int count = 0; count < windowCount; count++)
{
if (count != number)
{
m_dPointer[count]->ShowWindow(SW_HIDE);
}
else if (count == number)
{
m_dPointer[count]->SetWindowPos(&wndTop, m_rSettingsRect.left,
m_rSettingsRect.top, m_rSettingsRect.right,
m_rSettingsRect.bottom, SWP_SHOWWINDOW);
m_cTab.SetCurSel(count);
}
}
}
}
void CAdelphiX2Dlg::OnShowWindow(BOOL bShow, UINT nStatus)
{
CDialog::OnShowWindow(bShow, nStatus);
if (bShow) // When the dialog is shown, display the first window
{
ShowWindowNumber(0);
}
}
void CAdelphiX2Dlg::OnSelchangeTab1(NMHDR* pNMHDR, LRESULT* pResult)
{
ShowWindowNumber(m_cTab.GetCurFocus());
pNMHDR = NULL;
pResult = NULL;
}
On Thu, 18 Oct 2012 06:17:25 -0700 (PDT), ScottMcP [MVP] wrote:
On Thursday, October 18, 2012 8:40:52 AM UTC-4, Me wrote:
I have a Dialog application with Tab Control and 3 Tabs. How can I pass information (like a comport specifier) from the main Dialog to the child Tab's? Please help as I need access to the same serial port within two of the Tab's Thanks in advance.
You need to provide more information. What class are you using for each tab page? Have you created 3 CDialogs, or 3 CPropertyPages, or what?