Measure/DN_sample/CalImageDlg.cpp

96 lines
1.8 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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