Microsoft Visual C++ Windows Applications by Example phần 5

Một cách để giải quyết vấn đề là sử dụng con trỏ này, đó là một con trỏ đến đối tượng. Mỗi phương pháp không tĩnh của lớp học có thể truy cập nó. Khi các đối tượng chính nó sẽ được trả lại chứ không phải là một con trỏ đến đối tượng, trước tiên chúng ta derefer con trỏ này. | Chapter 6 private void DrawGrid CDC pDC void DrawScoreAndScoreList CDC pDC void DrawActiveAndNextFigure CDC pDC private CTetrisDoc m_pTetrisDoc int m_iColorStatus This application catches the messsages WM_CREATE WM_SIZE WM_SETFOCUS WM_KILLFOCUS WM_TIMER and WM_KEYDOWN. BEGIN_MESSAGE_MAP CTetrisView CView ON_WM_CREATE ON_WM_SIZE ON_WM_SETFOCUS ON_WM_KILLFOCUS ON_WM_TIMER ON_WM_KEYDOWN END_MESSAGE_MAP When the view object is created is connected to the document object by the pointer m_pTetrisDoc. int CTetrisView OnCreate LPCREATESTRUCT lpCreateStruct We check that the view has been correctly created. if CView OnCreate lpCreateStruct -1 return -1 m_pTetrisDoc CTetrisDoc m_pDocument check m_pTetrisDoc NULL ASSERT_VALID m_pTetrisDoc return 0 157 The Tetris Application The game grid is dimensioned by the constants ROWS and COLS. Each time the user changes the size of the application window the global variables g_iRowHeight and g_iColwidth which are defined in store the height and width of one square in pixels. void CTetrisView OnSize UINT uType int iClientWidth int iClientHeight g_iRowHeight iClientHeight ROWS g_iColWidth iClientWidth 2 COLS OnUpdate is called by the system when the window needs to be partly or completely repainted. In that case the parameter pHint is zero and the whole client area is repainted. However this method is also indirectly called when the document class calls UpdateAllView. In that case lHint has the value color or gray depending on whether the client area shall be repainted in color or in a grayscale. If pHint is non-zero it stores the coordinates of the area to be repainted. The coordinates are given in grid coordinates that have to be translated into pixel coordinates before the area is invalidated. The method first calls Invalidate or InvalidateRect to define the area to be repainted then the call to UpdateWindow does the actual repainting by calling OnPaint in CView which in turn calls OnDraw below. void .

Không thể tạo bản xem trước, hãy bấm tải xuống
TỪ KHÓA LIÊN QUAN
TÀI LIỆU MỚI ĐĂNG
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.