1: 2011-07-13 (Wed) 14:55:51 iseki | Cur: 2011-07-13 (Wed) 14:58:47 iseki | ||
---|---|---|---|
Line 5: | Line 5: | ||
#br | #br | ||
*** ToolBar [#x07afc90] | *** ToolBar [#x07afc90] | ||
+ | + OnEraseBkgndEdit(CDC* pDC) でその都度画面を書き換える | ||
+ | BOOL CExToolBar::OnEraseBkgnd(CDC* pDC) | ||
+ | { | ||
+ | // ちらつき防止 | ||
+ | ::InvalidateRect(this->m_hWnd, NULL, FALSE); | ||
+ | ::UpdateWindow(this->m_hWnd); | ||
+ | |||
+ | return CToolBar::OnEraseBkgnd(pDC); | ||
+ | } | ||
+ | #br | ||
+ | *** ダブルバッファ [#f5b727af] | ||
+ | - 例 | ||
+ | // 画面の大きさ | ||
+ | RECT rect; | ||
+ | this->GetClientRect(&rect); | ||
+ | |||
+ | // 画面のデバイスコンテキスト | ||
+ | CPaintDC dc(this); | ||
+ | |||
+ | // BitMapデータ | ||
+ | CBitmap bmp; | ||
+ | //bmp.CreateCompatibleBitmap(&dc, rect.right, rect.bottom); | ||
+ | bmp.LoadBitmap(rsrcID); | ||
+ | |||
+ | // バックバッファ用デバイスコンテキスト | ||
+ | CDC memDC; | ||
+ | memDC.CreateCompatibleDC(&dc); | ||
+ | |||
+ | // BitMapデータとバックバッファ用デバイスコンテキストを関連付ける | ||
+ | memDC.SelectObject(&bmp); | ||
+ | |||
+ | // バックバッファをフロントに転送 | ||
+ | dc.BitBlt(0, 0, rect.right, rect.bottom, &memDC, 0, 0, SRCCOPY); | ||
+ | |||
+ | // BitMapデータを開放 | ||
+ | bmp.DeleteObject(); |
- Backup list of VC++
- Backup diff of VC++(No. All)
- 1: 2011-07-13 (Wed) 14:55:51 iseki
- Cur: 2011-07-13 (Wed) 14:58:47 iseki