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

Đề tài: CDC::SetDCPenColor không làm thay đổi màu vẽ, làm sao sửa lỗi?

  1. #1
    Ngày gia nhập
    05 2008
    Bài viết
    3

    Mặc định CDC::SetDCPenColor không làm thay đổi màu vẽ, làm sao sửa lỗi?

    Chào mọi người , mình mới học lập trình MFC và hiện nay đang học qua GDI . Mình muốn vẽ một đường thẳng trên Dialog , mình dùng các hàm MoveTo và LineTo như sau

    Code:
    CPaintDC* dc = (CPaintDC*)GetDC(); 
    dc->MoveTo(50,50);
    dc->LineTo(200,200);
    Đoạn code trên vẽ ra đường thẳng màu đen , mình muốn vẽ màu đỏ nên mình sử dụng lệnh sau dc->SetDCPenColor (RGB(255,0,0));

    Code:
    CPaintDC* dc = (CPaintDC*)GetDC();
    dc->SetDCPenColor (RGB(255,0,0));
    dc->MoveTo(50,50);
    dc->LineTo(200,200);
    thế nhưng màu của đường thẳng không đổi , vẫn là đen.

    Xin cho mình hỏi là màu của CPen (stock object) có thể thay đổi qua hàm CDC::SetDCPenColor được không ? Nếu không thì hàm CDC::SetDCPenColor dùng như thế nào ?

    Mình cảm ơn mọi người

  2. #2
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Bạn làm như vầy :

    C++ Code:
    1. CPen pen, *oldpen;
    2. pen.CreatePen(PS_SOLID,1,RGB(255,0,0));
    3. oldpen = pDC->SelectObject(&pen);
    4. pDC->MoveTo(50,50);
    5. pDC->LineTo(200,200);
    6. pDC->SelectObject(oldpen);
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  3. #3
    Ngày gia nhập
    05 2008
    Bài viết
    3

    Cảm ơn bạn rất nhiều nhé . Bạn cho mình hỏi thêm là khi muốn đổi màu thì tại sao mình phải tạo một CPen mới rồi dùng hàm SelectObject để lấy nó sử dụng vậy , và tại sao MFC cung cấp hàm CDC::SetDCPenColor mà mình không sử dụng nó vậy . Nói chung là ý nghĩa hàm CDC::SetDCPenColor là để làm gì nhỉ

    Cảm ơn bạn nhiều

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

  1. Dạy vẽ móng, vẽ nail chuyên nghiệp
    Gửi bởi marketeronline trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 1
    Bài viết cuối: 14-04-2012, 11:14 AM
  2. Trả lời: 2
    Bài viết cuối: 24-05-2011, 12:29 AM
  3. Vẽ một bông hoa bằng cách vẽ các elip nghiêng 1 góc G độ với các màu khác nhau?
    Gửi bởi kimhieuqtvn trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 09-04-2011, 02:40 PM
  4. Chế độ tô vẽ và vẽ mượt mà (antialiashing) trong lập trình C#
    Gửi bởi neverland87 trong diễn đàn Tutorials và Thủ thuật lập trình C#, ASP.NET
    Trả lời: 0
    Bài viết cuối: 24-06-2007, 01:06 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