144 lines
3.0 KiB
C++
144 lines
3.0 KiB
C++
//add by xlc on 071224
|
|
// SearchRangeDlg.cpp : implementation file
|
|
//
|
|
|
|
#include "stdafx.h"
|
|
#include "SearchRangeDlg.h"
|
|
#include "cameradlg.h"
|
|
#include "axlock.h"
|
|
#include "setvideodlg.h"
|
|
#ifdef _DEBUG
|
|
#define new DEBUG_NEW
|
|
#undef THIS_FILE
|
|
static char THIS_FILE[] = __FILE__;
|
|
#endif
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CSearchRangeDlg dialog
|
|
|
|
|
|
CSearchRangeDlg::CSearchRangeDlg(CWnd* pParent /*=NULL*/)
|
|
: CModelessDialog(CSearchRangeDlg::IDD, pParent),m_ssEnt(SS_FREE)
|
|
{
|
|
//{{AFX_DATA_INIT(CSearchRangeDlg)
|
|
m_iFindRange = 1;
|
|
//}}AFX_DATA_INIT
|
|
m_strType = _T("");
|
|
}
|
|
|
|
|
|
void CSearchRangeDlg::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CModelessDialog::DoDataExchange(pDX);
|
|
//{{AFX_DATA_MAP(CSearchRangeDlg)
|
|
DDX_CBIndex(pDX, IDC_COMBO_SEARCH, m_iFindRange);
|
|
//}}AFX_DATA_MAP
|
|
}
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(CSearchRangeDlg, CModelessDialog)
|
|
//{{AFX_MSG_MAP(CSearchRangeDlg)
|
|
ON_WM_DESTROY()
|
|
ON_BN_CLICKED(IDC_BUTTON_PICK, OnButtonSel)
|
|
ON_CBN_SELCHANGE(IDC_COMBO_SEARCH, OnSelchangeComboFindrange)
|
|
|
|
//}}AFX_MSG_MAP
|
|
END_MESSAGE_MAP()
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CSearchRangeDlg message handlers
|
|
|
|
BOOL CSearchRangeDlg::OnInitDialog()
|
|
{
|
|
CModelessDialog::OnInitDialog();
|
|
|
|
//加载“选择对象”按钮的位图
|
|
CBitmap bitmap;
|
|
bitmap.LoadBitmap(IDB_BITMAP_SELECT);
|
|
CButton *pButton = (CButton *)GetDlgItem(IDC_BUTTON_PICK);
|
|
pButton->SetBitmap((HBITMAP)bitmap);
|
|
bitmap.Detach();
|
|
|
|
if (!m_wndToolTip.Create(pButton))
|
|
{
|
|
return FALSE;
|
|
}
|
|
m_wndToolTip.AddTool(pButton, _T("选取对象"));
|
|
|
|
UpdateData(FALSE);
|
|
return TRUE;
|
|
}
|
|
|
|
//选择图元
|
|
void CSearchRangeDlg::OnButtonSel()
|
|
{
|
|
UpdateData(TRUE);
|
|
HideDialog(TRUE);
|
|
|
|
const TCHAR *szPrompt[2]={_T("请选择搜索区域的范围:"),_T("移除物体")};
|
|
RBList entList(RTDXF0, m_strType, NULL);
|
|
m_ssEnt.Free();
|
|
if (m_ssEnt.Get(_T(":$"),szPrompt , NULL, entList) == RTNORM)
|
|
{
|
|
m_iFindRange = 0;
|
|
}
|
|
HideDialog(FALSE);
|
|
UpdateData(FALSE);
|
|
}
|
|
|
|
|
|
//选择了查找范围后,重新构造图元选择集
|
|
void CSearchRangeDlg::OnSelchangeComboFindrange()
|
|
{
|
|
UpdateData(TRUE);
|
|
if ( m_iFindRange == 0 )
|
|
{
|
|
OnButtonSel();
|
|
}
|
|
}
|
|
|
|
|
|
//隐藏或者显示对话框
|
|
void CSearchRangeDlg::HideDialog(BOOL bFlag)
|
|
{
|
|
if (bFlag) {
|
|
GetParent()->EnableWindow(TRUE);
|
|
GetParent()->SetFocus();
|
|
GetParent()->SetActiveWindow();
|
|
ShowWindow(SW_HIDE);
|
|
GetParent()->RedrawWindow();
|
|
}
|
|
else {
|
|
GetParent()->EnableWindow(FALSE);
|
|
EnableWindow(TRUE);
|
|
SetActiveWindow();
|
|
ShowWindow(SW_SHOW);
|
|
GetParent()->EnableWindow(TRUE);
|
|
}
|
|
}
|
|
|
|
BOOL CSearchRangeDlg::PreTranslateMessage(MSG* pMsg)
|
|
{
|
|
m_wndToolTip.RelayEvent(pMsg);
|
|
return CModelessDialog::PreTranslateMessage(pMsg);
|
|
}
|
|
|
|
void CSearchRangeDlg::OnDestroy()
|
|
{
|
|
m_wndToolTip.DestroyWindow();
|
|
CModelessDialog::OnDestroy();
|
|
}
|
|
|
|
void CSearchRangeDlg::OnOK()
|
|
{
|
|
if (m_iFindRange==1)
|
|
{
|
|
RBList entList(RTDXF0, m_strType, NULL);
|
|
m_ssEnt.Free();
|
|
if ( m_ssEnt.Get(_T("X"), NULL, NULL, entList ) != RTNORM)
|
|
{
|
|
MessageBox(_T("搜索失败!"));
|
|
}
|
|
}
|
|
CModelessDialog::OnOK();
|
|
} |