Từ 1 tới 6 trên tổng số 6 kết quả

Đề tài: xin hãy giải thích đoạn code này giùm em

  1. #1
    No Avatar
    tuvonc Khách

    Mặc định xin hãy giải thích đoạn code này giùm em

    xin các lão tiền bối hãy giải thích cho em rõ đoạn code sau em cam ơn nhiều lắm lắm

    VOID CISeeView:rawImage(CDC *pDC)
    {
    CPoint ptOrg = GetScrollPosition();
    CRect rtClient;
    GetClientRect(&rtClient);
    CSize zClient = rtClient.Size();

    UINT xDst = ptOrg.x;
    UINT yDst = ptOrg.y;
    UINT dxDst = zClient.cx < m_zView.cx?zClient.cx:m_zView.cx;
    UINT dyDst = zClient.cy < m_zView.cy?zClient.cy:m_zView.cy;

    UINT xSrc = (UINT)(xDst/m_dRatio);
    UINT ySrc = (UINT)(yDst/m_dRatio);
    UINT dxSrc = (UINT)(dxDst/m_dRatio);
    UINT dySrc = (UINT)(dyDst/m_dRatio);

    DrawDibDraw(
    m_hdd,
    pDC->m_hDC,
    xDst, yDst, dxDst, dyDst,
    GetDocument()->GetHeader(),
    GetDocument()->GetBits(),
    xSrc, ySrc, dxSrc, dySrc,
    0
    );
    }
    Đã được chỉnh sửa lần cuối bởi tuvonc : 20-03-2007 lúc 04:23 PM. Lý do: [VC++ 6.0]

  2. #2
    Ngày gia nhập
    01 2007
    Nơi ở
    Hải Phòng
    Bài viết
    210

    Hình như cái này là hiển thị 1 ảnh trong 1 cửa sổ có thanh cuộn.

    Code:
    VOID CISeeView:DrawImage(CDC *pDC)
    {
    CPoint ptOrg = GetScrollPosition();	// Cái này chắc là lấy vị trí thanh cuộn
    CRect rtClient;
    GetClientRect(&rtClient);	// Cái này lấy kích cỡ client nè
    CSize zClient = rtClient.Size();
    
    UINT xDst = ptOrg.x;	// Gán mấy thông số này cho vị trí thanh cuộn
    UINT yDst = ptOrg.y;	// Vậy là, lấy đỉnh của thanh cuộn làm đỉnh bitmap
    UINT dxDst = zClient.cx < m_zView.cx?zClient.cx:m_zView.cx;	// Kích cỡ cửa sổ hay kích cỡ bitmap
    UINT dyDst = zClient.cy < m_zView.cy?zClient.cy:m_zView.cy;	// cái nào to hơn thì chọn cái đó
    
    UINT xSrc = (UINT)(xDst/m_dRatio);	// Có cái biến lạ hoắc
    UINT ySrc = (UINT)(yDst/m_dRatio);	// không hiểu có phải là zoom ko nữa
    UINT dxSrc = (UINT)(dxDst/m_dRatio);
    UINT dySrc = (UINT)(dyDst/m_dRatio);
    
    DrawDibDraw(
    m_hdd,
    pDC->m_hDC,
    xDst, yDst, dxDst, dyDst,
    GetDocument()->GetHeader(),
    GetDocument()->GetBits(),
    xSrc, ySrc, dxSrc, dySrc,
    0
    );	// Còn đây là vẽ cái bitmap đó với các thông số đã thiết lập ở trên.
    }
    -- Công lực còn kém. Nếu sai thì xin đừng cười.
    pEnGwINUS.

  3. #3
    No Avatar
    tuvonc Khách

    Cám ơn cậu, cho tớ hỏi nhá 2 thư viện CPoint và CRect để làm gì vậy thanks

  4. #4
    Ngày gia nhập
    01 2007
    Nơi ở
    Hải Phòng
    Bài viết
    210

    CPoint chứa tọa độ của 1 điểm - Ví dụ : (5,12).
    CRect chứa tọa độ của 1 hình chữ nhật - Ví dụ : (5,12,23,14)
    pEnGwINUS.

  5. #5
    No Avatar
    tuvonc Khách

    thanks, bác có thể giải thích dòng này rõ hơn được không ạ
    GetClientRect(&rtClient); // Cái này lấy kích cỡ client nè
    CSize zClient = rtClient.Size();

  6. #6
    Ngày gia nhập
    01 2007
    Nơi ở
    Hải Phòng
    Bài viết
    210

    Mặc định xin hãy giải thích đoạn code này giùm em

    GetClientRect(&rtClient); -> Đây là hàm lấy kích cỡ của client và lưu vào biến rtClient. Bây giờ rtClient chứa các thông số về tọa độ của Client ( trái, trên, phải, dưới ).

    CSize zClient = rtClient.Size(); -> Nếu không nhầm thì kích thước cửa sổ ( ngang, dọc ) sẽ được chuyển sang biến zClient. Lúc này zClient.cx = chiều ngang của client. zClient.cy = chiều dọc của client.
    pEnGwINUS.

Các đề tài tương tự

  1. nhờ mọi người ngó qua giải đáp đoạn code giùm em
    Gửi bởi phamtienngoc trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 6
    Bài viết cuối: 28-03-2012, 11:06 PM
  2. code hệ điều hành. Giải thích giùm e này với
    Gửi bởi chuyentinh_t2thezoo trong diễn đàn Thắc mắc chung
    Trả lời: 3
    Bài viết cuối: 16-12-2010, 10:35 PM
  3. Nhờ giải thích giùm mình đoạn code này
    Gửi bởi vietwow trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 7
    Bài viết cuối: 22-07-2009, 12:23 PM
  4. Code cây nhị phân, hàm insert. Mọi người giải thích giùm?
    Gửi bởi quicksilver89 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 10-04-2009, 05:17 PM
  5. Giải thích giùm mình đoạn code
    Gửi bởi NoName123 trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 4
    Bài viết cuối: 04-01-2008, 10:04 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn