Ý em không phải là ko cần giải phóng. Em muốn nói là không cần khai thêm
CBitmap *pOldbmp và có thể bỏ dòng lệnh memdc.selecobject(pOldbmp ). Thay vào đó ta chỉ cần giải phóng memdc là được. Để rõ hơn sau đây là đoạn code của em, các bác xem xem có lỗi không nhé(em chạy trên WInCE bét nhè mà chưa lỗi thì phải):
CDC buffDC;
CBitmap bmpBuffer;
buffDC.DeleteDC();
bmpBuffer.DeleteObject();
bmpBuffer.CreateCompatibleBitmap(&dc,xc,yc);
buffDC.CreateCompatibleDC(&dc);
buffDC.SelectObject(&bmpBuffer);
// vẽ , thao tác đồ họa với buffDC
dc.BitBlt(0,0,xc,yc,&buffDC,1,1,SRCCOPY);
ReleaseDC(&buffDC);
2. Capture màn hình em làm được rồi bác à. Em làm cái đó để tăng tốc độ xử lý đồ họa. Trong một số trường hợp, ta có thể capture lại màn hình của device context lúc đó, sau khi xử lý một số tác vụ ta load lại bimap đó lên dc hiện thời, tránh việc vẽ lại các đối tượng đồ họa trong onPaint(). Một ví dụ cực kỳ cụ thể các bác cũng thấy là trong chương trình handMap, trong quá trình sử dụng công cụ PAN, bác sẽ thấy nó dịch chuyển bitmap của DC hiện thời chứ không phải là RePaint() một cách liên tục.
3. Em lại phát sinh ra vấn đề mới. Các bác có biết cách nào tăng tốc việc đọc file dữ liệu không. Em đọc một file text 60kb vào một mảng mà PDA của em chạy mất gần 10s mới đau chứ. Tốc độ như thế là có vấn đề đúng không các bác
Rất cảm ơn các bác góp ý nhiệt tình.
Đợi phản hồi...