Date: 10 January 1998
Author: Christopher Kohlhoff
The virtual method void Paint(TDC& dc, bool erase, TRect& rect) is not automatically called for the TDialog class or any classes derived from it. If you want to paint inside your dialog class, you need to add a handler for WM_PAINT:
DEFINE_RESPONSE_TABLE1(TPaintDialog, TDialog) // ... EV_WM_PAINT, // ... END_RESPONSE_TABLE; void TPaintDialog::EvPaint() { TRect rect; GetUpdateRect(rect, false); TClientDC dc(*this); Paint(dc, false, rect); }
Then override the Paint method to do your painting, just as you would with any other window class.