Files
envi-code/SourceCode/Code2026/tg_shs/shs_kerncmd/SearchRangeDlg.cpp
T
gjm 164968b62e chore
把非utf8-bom编码的cpp/h文件改为 utf8 bom 编码, msvc识别utf8编码时,如果不是bom格式的,会使用当前cp_oem来解码.
2026-10-04 00:04:20 +08:00

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();
}