// TestRawViewGraph.cpp : implementation file // #include "stdafx.h" #include "TestRawViewer.h" #include "TestRawViewGraph.h" #include "TestRawViewerDlg.h" // CTestRawViewGraph dialog IMPLEMENT_DYNAMIC(CTestRawViewGraph, CDialog) CTestRawViewGraph::CTestRawViewGraph(CWnd* pParent /*=NULL*/) : CDialog(CTestRawViewGraph::IDD, pParent) { // CTestRawViewerDlg* pBaseWnd = (CTestRawViewerDlg*)AfxGetMainWnd(); mistandardWidth = 65535; mistandardWidth = 3072; // mistandardWidth = 255; // mistandardWidth = ((CTestRawViewerDlg * )pParent)->miMAX; mistandardHeight = 94371; } CTestRawViewGraph::~CTestRawViewGraph() { } void CTestRawViewGraph::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); } BEGIN_MESSAGE_MAP(CTestRawViewGraph, CDialog) ON_WM_PAINT() ON_BN_CLICKED(IDC_BUTTON1, &CTestRawViewGraph::OnBnClickedButton1) END_MESSAGE_MAP() // CTestRawViewGraph message handlers BOOL CTestRawViewGraph::OnInitDialog() { CDialog::OnInitDialog(); // Add "About..." menu item to system menu. // IDM_ABOUTBOX must be in the system command range. ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX < 0xF000); CMenu* pSysMenu = GetSystemMenu(FALSE); if (pSysMenu != NULL) { CString strAboutMenu; strAboutMenu.LoadString(IDS_ABOUTBOX); if (!strAboutMenu.IsEmpty()) { pSysMenu->AppendMenu(MF_SEPARATOR); pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); } } ::SetWindowPos(GetSafeHwnd(),HWND_TOPMOST,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE); // Hide Application in TaskBar ------------------------ ModifyStyleEx(WS_EX_APPWINDOW, WS_EX_TOOLWINDOW); ufDrawGraph(); return 0; } BOOL CTestRawViewGraph::ufDrawGraph() { COLORREF bColor; bColor = RGB(0, 0, 0); CRect r; CRect rect1; int wIx, wiXPoint,wiYPoint, X; this->GetClientRect(&r); CClientDC dc(this); CTestRawViewerDlg* pBaseWnd = (CTestRawViewerDlg*)AfxGetMainWnd(); mdScreenMappingRateWidth = (double)r.right / (double)mistandardWidth; mdScreenMappingRateHeight = (double)r.bottom / (double)mistandardHeight; // for(wIx = 100; wIx <= 65535; wIx++) for(wIx = 100; wIx <= 110; wIx++) { wiXPoint = (int)((double)wIx * mdScreenMappingRateWidth); wiYPoint = (int)((double)pBaseWnd->mpImageValue[wIx] * mdScreenMappingRateHeight); // if(wiYPoint > 0) dc.SetPixel(wiXPoint, wiYPoint,bColor); // dc.SetPixel(wiXPoint, wiYPoint,bColor); dc.SetPixel(wiXPoint, 100,bColor); } // dc.SetPixel(100, 100,bColor); // dc.SetPixel(101, 100,bColor); // dc.SetPixel(102, 100,bColor); return TRUE; // return TRUE unless you set the focus to a control } void CTestRawViewGraph::OnPaint() { CPaintDC dc(this); // device context for painting // TODO: Add your message handler code here // Do not call CDialog::OnPaint() for painting messages ufDrawGraph(); } void CTestRawViewGraph::OnBnClickedButton1() { // TODO: Add your control notification handler code here CTestRawViewerDlg* pBaseWnd = (CTestRawViewerDlg*)AfxGetMainWnd(); this->Invalidate(); int wiCNTArea1 = 0; int wiCNTArea2 = 0; int wiCNTArea3 = 0; int wIx; CString wsSTR; for(wIx = 0; wIx <= 65535; wIx++) { /* if(pBaseWnd->miImageValue[wIx] > 40000) { wiCNTArea1 = wiCNTArea1 + pBaseWnd->miImageValue[wIx]; } else { wiCNTArea2 = wiCNTArea2 + pBaseWnd->miImageValue[wIx]; } */ if(wIx > 40000) { wiCNTArea1 = wiCNTArea1 + pBaseWnd->mpImageValue[wIx]; } else { wiCNTArea2 = wiCNTArea2 + pBaseWnd->mpImageValue[wIx]; } } /* wsSTR.Format("%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d" ,pBaseWnd->miImageValue[0] ,pBaseWnd->miImageValue[1] ,pBaseWnd->miImageValue[2] ,pBaseWnd->miImageValue[3] ,pBaseWnd->miImageValue[4] ,pBaseWnd->miImageValue[5] ,pBaseWnd->miImageValue[6] ,pBaseWnd->miImageValue[7] ,pBaseWnd->miImageValue[8] ,pBaseWnd->miImageValue[9] ,pBaseWnd->miImageValue[10] ,pBaseWnd->miImageValue[11] ,pBaseWnd->miImageValue[12] ,pBaseWnd->miImageValue[13] ,pBaseWnd->miImageValue[14] ); AfxMessageBox(wsSTR); wsSTR.Format("%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d" ,pBaseWnd->miSumValue[0] ,pBaseWnd->miSumValue[1] ,pBaseWnd->miSumValue[2] ,pBaseWnd->miSumValue[3] ,pBaseWnd->miSumValue[4] ,pBaseWnd->miSumValue[5] ,pBaseWnd->miSumValue[6] ,pBaseWnd->miSumValue[7] ,pBaseWnd->miSumValue[8] ,pBaseWnd->miSumValue[9] ,pBaseWnd->miSumValue[10] ,pBaseWnd->miSumValue[11] ,pBaseWnd->miSumValue[12] ,pBaseWnd->miSumValue[13] ,pBaseWnd->miSumValue[14] ); */ // wsSTR.Format("wiCNTArea1 = %d, wiCNTArea2 = %d", wiCNTArea1, wiCNTArea2); AfxMessageBox(wsSTR); }