2012-07-27 4 views
0

저는 VC++에 처음 입문했으며, 지금은 몇 번이고, 이것은 성공적으로 빌드 된 후에도 출력을 제공하지 않는 세 번째 프로그램입니다.VC++에 출력이 표시되지 않습니다.

#include <AFXWIN.H> 
#include <math.h> 
#define PI 3.1415926 
#define SEGMENTS 500 

class CMyApp : public CWinApp { 
public: 
    virtual BOOL InitInstance(); 
}; 

class CMainWindow : public CFrameWnd 
{ 
public: 
CMainWindow(); 
protected: 
afx_msg void OnPaint(); 
afx_msg void OnLButtonDown(UINT, CPoint); 
DECLARE_MESSAGE_MAP(); 
}; 

CMyApp myAPP; 
    BOOL CMyApp::InitInstance() { 
    m_pMainWnd = new CMainWindow; 
    m_pMainWnd->ShowWindow(SW_MAXIMIZE); 
    m_pMainWnd->UpdateWindow(); 
    return TRUE; 
    } 

BEGIN_MESSAGE_MAP (CMainWindow, CFrameWnd) 
ON_WM_PAINT() 
END_MESSAGE_MAP() 

CMainWindow::CMainWindow() { 
    Create(NULL,"The Hello Application",WS_OVERLAPPEDWINDOW);               
} 

void CMainWindow::OnPaint() { 
    CRect rect; 
    int nWidth = rect.Width(); 
    int nHeight = rect.Height(); 

CPaintDC dc (this); 
CPoint aPoint[SEGMENTS]; 
for (int i =0; i < SEGMENTS; i++){ 
    aPoint[i].x = ((i*nWidth)/SEGMENTS); 
    aPoint[i].y= (int)((nHeight/2)* (1-(sin((2*PI*i)/SEGMENTS)))); 
} 
dc.Polyline(aPoint, SEGMENTS); 
UpdateData(false); 
} 

위의 프로그램은 빈 창을 제외하고 출력으로 사인 곡선을 제공해야합니다. 그리고 나는 그것이 왜 일어날 지 모른다. 도움이된다면 VC++ 6.0을 사용하고 있습니다.

답변

1

너비와 높이를 가져 오는 데 사용하는 사각형이 초기화되지 않았을 수 있습니다. 당신은 어딘가에서 사각형을 가져와야합니다. CWnd::GetClientRect.

+0

감사합니다. :) 나는 내가 tht를 잊었던 방법을 알고있다. .. – vin