SelectObject一般是这样使用的:void CMy10View::OnDraw(CDC* pDC)
{
CPen Pen( PS_SOLID, 1, RGB( 255, 0, 0 ) );
CPen* pOldPen;
pOldPen = pDC->SelectObject( &Pen );
......
} 我在想视图区在重绘时不停的构建画笔,选进设备环境,删除画笔,这样是不是有点低效。我设想能不能在创建窗口成功后就把画笔选进设备环境,然后在销毁窗口之前删除画笔。但是我试了一下,似乎不行。难道非得在OnDraw函数里写吗?
兄弟,我试过了。还是必须在OnDraw里选进设备环境的。
你是说自定一个CMyDC类,继承自CDC类,构造函数中创建,在析构函数在销毁。这和在OnDraw函数里选进设备环境有什么区别呢?
CS_OWNDC Allocates a unique device context for each window in the class.