79 lines
1.2 KiB
C++
79 lines
1.2 KiB
C++
#include "stdafx.h"
|
|
#include "DXJDDlg.h"
|
|
|
|
#ifndef WM_ELGETMSG
|
|
#define WM_ELGETMSG (WM_USER+0X1001)
|
|
#endif
|
|
|
|
IMPLEMENT_DYNAMIC(CDXJDDlg, CDialog)
|
|
|
|
CDXJDDlg::CDXJDDlg(CWnd* pParent /*=NULL*/)
|
|
: CDialog(CDXJDDlg::IDD, pParent)
|
|
, m_dEl(1.0)
|
|
{
|
|
}
|
|
|
|
CDXJDDlg::~CDXJDDlg()
|
|
{
|
|
}
|
|
|
|
void CDXJDDlg::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialog::DoDataExchange(pDX);
|
|
DDX_Text(pDX, IDC_EDIT1, m_dEl);
|
|
}
|
|
|
|
BEGIN_MESSAGE_MAP(CDXJDDlg, CDialog)
|
|
ON_MESSAGE( WM_ACAD_KEEPFOCUS, &CDXJDDlg::onAcadKeepFocus )
|
|
ON_MESSAGE( WM_ELGETMSG,&CDXJDDlg::OnGetElMsg)
|
|
END_MESSAGE_MAP()
|
|
|
|
LONG_PTR CDXJDDlg::onAcadKeepFocus( UINT_PTR, LONG_PTR)
|
|
{
|
|
POINT pt;
|
|
::GetCursorPos(&pt);
|
|
CRect rect;
|
|
GetWindowRect(&rect);
|
|
if(!(rect.PtInRect(pt)))
|
|
{
|
|
return FALSE;
|
|
}
|
|
return TRUE;
|
|
}
|
|
|
|
BOOL CDXJDDlg::OnInitDialog()
|
|
{
|
|
CDialog::OnInitDialog();
|
|
|
|
UpdateData(FALSE);
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
LONG_PTR CDXJDDlg::OnGetElMsg(WPARAM wp,LPARAM lp)
|
|
{
|
|
if (wp != NULL)
|
|
{
|
|
AcGePoint3d* pPt = (AcGePoint3d*)wp;
|
|
pPt->z = GetCurEl();
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
double CDXJDDlg::GetCurEl()
|
|
{
|
|
if (::IsWindow(m_hWnd))
|
|
{
|
|
UpdateData(TRUE);
|
|
}
|
|
return m_dEl;
|
|
}
|
|
|
|
void CDXJDDlg::SetCurEl(double dEl)
|
|
{
|
|
m_dEl = dEl;
|
|
if (::IsWindow(m_hWnd))
|
|
{
|
|
UpdateData(FALSE);
|
|
}
|
|
} |