96 lines
1.8 KiB
C++
96 lines
1.8 KiB
C++
|
// CalImageDlg.cpp: 实现文件
|
|||
|
//
|
|||
|
|
|||
|
#include "stdafx.h"
|
|||
|
|
|||
|
#include "DN_sample.h"
|
|||
|
#include "afxdialogex.h"
|
|||
|
#include "CalImageDlg.h"
|
|||
|
|
|||
|
// CalImageDlg 对话框
|
|||
|
|
|||
|
IMPLEMENT_DYNAMIC(CalImageDlg, CDialog)
|
|||
|
|
|||
|
CalImageDlg::CalImageDlg(CWnd* pParent /*=nullptr*/)
|
|||
|
: CDialog(CalImageDlg::IDD, pParent)
|
|||
|
, m_img(nullptr)
|
|||
|
{
|
|||
|
//Create(IDD, pParent);
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
void CalImageDlg::DoDataExchange(CDataExchange* pDX)
|
|||
|
{
|
|||
|
CDialog::DoDataExchange(pDX);
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
BEGIN_MESSAGE_MAP(CalImageDlg, CDialog)
|
|||
|
ON_BN_CLICKED(IDC_BUTTON1, &CalImageDlg::OnBnClickedButton1)
|
|||
|
END_MESSAGE_MAP()
|
|||
|
|
|||
|
|
|||
|
// CalImageDlg 消息处理程序
|
|||
|
|
|||
|
|
|||
|
BOOL CalImageDlg::OnInitDialog()
|
|||
|
{
|
|||
|
CDialog::OnInitDialog();
|
|||
|
|
|||
|
ModifyStyle(WS_CAPTION, 0);
|
|||
|
|
|||
|
m_form2.Create(IDD_FORM2,this);
|
|||
|
|
|||
|
return true;
|
|||
|
}
|
|||
|
|
|||
|
void CalImageDlg::SetImgPos() {
|
|||
|
RECT rect;
|
|||
|
GetClientRect(&rect);
|
|||
|
rect.top += 35;//对坐标做一些微调,这35是选项卡按钮的高度
|
|||
|
rect.left += 5;//这是边框的宽度
|
|||
|
m_form2.SetWindowPos(NULL, 0, 0, rect.right - rect.left, rect.bottom - rect.top, SWP_NOZORDER);
|
|||
|
m_form2.MoveWindow(&rect);
|
|||
|
m_form2.ShowWindow(SW_SHOW);
|
|||
|
}
|
|||
|
|
|||
|
void CalImageDlg::OnBnClickedButton1()
|
|||
|
{
|
|||
|
if (!m_img) return;
|
|||
|
|
|||
|
if (!m_img->m_CalData) {
|
|||
|
m_img->CalDistance();
|
|||
|
}
|
|||
|
Display();
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
void CalImageDlg::OnPaint() {
|
|||
|
|
|||
|
CDialog::OnPaint();
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
void CalImageDlg::Display()
|
|||
|
{
|
|||
|
if (!m_img) return;
|
|||
|
|
|||
|
m_form2.ShowCalImg(m_img);
|
|||
|
CStatic* sx = (CStatic*)GetDlgItem(IDC_STATIC3);
|
|||
|
CStatic* sy = (CStatic*)GetDlgItem(IDC_STATIC4);
|
|||
|
CString cstr;
|
|||
|
cstr.Format(L"%.3fmm", m_img->m_DistanceX);
|
|||
|
sx->SetWindowTextW(cstr.GetString());
|
|||
|
cstr.Format(L"%.3fmm", m_img->m_DistanceY);
|
|||
|
sy->SetWindowTextW(cstr.GetString());
|
|||
|
|
|||
|
m_form2.Invalidate();
|
|||
|
sx->Invalidate();
|
|||
|
sy->Invalidate();
|
|||
|
}
|
|||
|
|
|||
|
void CalImageDlg::ClearImg() {
|
|||
|
m_form2.ClearImg();
|
|||
|
|
|||
|
Display();
|
|||
|
}
|