คนที่เขียน c++ with API32 คงรุ้จักคำสั่ง
BeginPaints, EndPaints ซึ่งโดยปกติทั่วไปแล้ว
คำสั่งนี้จะใช้คู่กับ message ของ window ที่ชื่อ WM_PAINT

ตัวอย่างเช่น

case WM_PAINT:
{
PAINTSTRUCT psPaint;
HDC hdc = BeginPaint( hwnd, &psPaint );
// Do painting here
EndPaint (hwnd, &psPaint);
}
return 0;

และโดยปกติ message loop จะได้รับ WM_PAINT ก็ต่อเมื่อเกิดเหตุการณ์
ที่ทำให้เกิดการ วาดภาพ คือ เช่น
1. เมื่อ windows มีการย่อหรือขยาย
2. เมื่อมีการ ย้าย หรือ เคลื่อนที่ windows
3. หรือ window ถูกปังจาก windows อื่นๆ

ซึ่งบางครั้งท่านที่มือใหม่ในการเขียน Win32API อาจจะนำ BeginPaint
ไปใช้กับ message window ที่ไม่ใช่ WM_PAINT ทำให้ภาพ ที่ท่านต้องการวาด
ไม่ปรากฤขึ้น ตรงนี้ สามารถ แก้ไขได้อย่างน้อย 2 วิธีครับ
**Hidden Content: To see this hidden content your post count must be 5 or greater.**