Re: Modal DialogBox problum, Help me
 
Ok i m attchching the code here, now i want this class to use as
CDilogBar, so it plz tell me how
// dlgthr.cpp : implementation file
//
#include "stdafx.h"
#include "sgiron.h"
#include "dlgthr.h"
#include "datatype.h"
#include "mainfrm.h"
#ifdef _DEBUG
#undef THIS_FILE
static char BASED_CODE THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CThresholdDlg dialog
CThresholdDlg::CThresholdDlg(CWnd* pParent /*=NULL*/)
: CDialog(CThresholdDlg::IDD, pParent)
{
    //{{AFX_DATA_INIT(CThresholdDlg)
    m_iNodulesValue = 0;
    m_iPhaseValue = 0;
    //}}AFX_DATA_INIT
}
void CThresholdDlg::DoDataExchange(CDataExchange* pDX)
{
    CDialog::DoDataExchange(pDX);
    //{{AFX_DATA_MAP(CThresholdDlg)
    DDX_Control(pDX, IDC_GRAPHITESPIN, m_spinNodules);
    DDX_Control(pDX, IDC_PHASESPIN, m_spinPhase);
    DDX_Text(pDX, IDC_THRESHOLD, m_iNodulesValue);
    DDV_MinMaxInt(pDX, m_iNodulesValue, 0, 255);
    DDX_Text(pDX, IDC_THRESHOLD_PHASE, m_iPhaseValue);
    DDV_MinMaxInt(pDX, m_iPhaseValue, 0, 255);
    //}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CThresholdDlg, CDialog)
//{{AFX_MSG_MAP(CThresholdDlg)
ON_BN_CLICKED(IDC_FIRST, OnFirst)
ON_BN_CLICKED(IDC_NEXT, OnNext)
ON_BN_CLICKED(IDC_LAST, OnLast)
ON_BN_CLICKED(IDC_PREVIEW, OnPreview)
ON_BN_CLICKED(IDC_RESTORE, OnRestore)
ON_BN_CLICKED(IDC_PREV, OnPrev)
ON_BN_CLICKED(IDC_NODULE_RADIO, OnNoduleRadio)
    ON_BN_CLICKED(IDC_PHASE_RADIO, OnPhaseRadio)
    //}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CThresholdDlg message handlers
BOOL CThresholdDlg::OnInitDialog()
{
    CRect rect;
    int ht, wt;
    CDialog::OnInitDialog();
    GetWindowRect(&rect);
    ht = rect.Height();
    wt = rect.Width();
    AfxGetApp()->m_pMainWnd->GetWindowRect(&rect);
    rect.top = rect.bottom - ht;
    rect.left = rect.right;
    rect.right = rect.left + wt;
    MoveWindow(rect);
    m_spinNodules.SetRange(0, 255);
    m_spinNodules.SetPos(m_iNodulesValue);
    m_spinPhase.SetRange(0, 255);
    m_spinPhase.SetPos(m_iPhaseValue);
    m_btnFirst.AutoLoad(IDC_FIRST, this);
    m_btnPrev.AutoLoad(IDC_PREV, this);
    m_btnNext.AutoLoad(IDC_NEXT, this);
    m_btnLast.AutoLoad(IDC_LAST, this);
    ((CButton *)GetDlgItem(IDC_NODULE_RADIO))->SetCheck(1);
    OnNoduleRadio();
    if(!theApp.m_instData.m_bDoPhase)
        GetDlgItem(IDC_PHASE_RADIO)->EnableWindow(FALSE);
    else
        GetDlgItem(IDC_PHASE_RADIO)->EnableWindow(TRUE);
    return TRUE;
}
void CThresholdDlg::OnFirst()
{
    GetParent()->PostMessage(WM_SHOWIMAGE, FIRST_IMAGE, 0L);
}
void CThresholdDlg::OnPrev()
{
    GetParent()->PostMessage(WM_SHOWIMAGE, PREV_IMAGE, 0L);
}
void CThresholdDlg::OnNext()
{
    GetParent()->PostMessage(WM_SHOWIMAGE, NEXT_IMAGE, 0L);
}
void CThresholdDlg::OnLast()
{
    GetParent()->PostMessage(WM_SHOWIMAGE, LAST_IMAGE, 0L);
}
void CThresholdDlg::OnPreview()
{
    int value;
    if(((CButton *)GetDlgItem(IDC_NODULE_RADIO))->GetCheck())
        value = GetDlgItemInt(IDC_THRESHOLD);
    else
        value = GetDlgItemInt(IDC_THRESHOLD_PHASE);
    GetParent()->PostMessage(WM_THRESHOLD, 0, value);
}
void CThresholdDlg::OnRestore()
{
    GetParent()->PostMessage(WM_RESTORE, 0, 0L);
}
void CThresholdDlg::OnOK()
{
    CDialog::OnOK();
}
void CThresholdDlg::OnNoduleRadio()
{
    GetDlgItem(IDC_THRESHOLD_PHASE)->EnableWindow(FALSE);
    GetDlgItem(IDC_THRESHOLD)->EnableWindow(TRUE);
    GetParent()->PostMessage(WM_NODULES, 0, 0);
}
void CThresholdDlg::OnPhaseRadio()
{
    GetDlgItem(IDC_THRESHOLD_PHASE)->EnableWindow(TRUE);
    GetDlgItem(IDC_THRESHOLD)->EnableWindow(FALSE);
    GetParent()->PostMessage(WM_PHASE, 0, 0);
}