VC++
をテンプレートにして作成
[
トップ
] [
タイトル一覧
|
ページ一覧
|
新規
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
** リサイズ時のちらつき [#pa99c771]
*** View [#j8330691]
+ OnEraseBkgnd(CDC* pDC) をオーバーライトして,ここで画面...
+ 画面の書き換えは他の場所で行う
*** ToolBar [#x07afc90]
+ OnEraseBkgndEdit(CDC* pDC) でその都度画面を書き換える
BOOL CExToolBar::OnEraseBkgnd(CDC* pDC)
{
// ちらつき防止
::InvalidateRect(this->m_hWnd, NULL, FALSE);
::UpdateWindow(this->m_hWnd);
return CToolBar::OnEraseBkgnd(pDC);
}
*** ダブルバッファ [#f5b727af]
- 例
// 画面の大きさ
RECT rect;
this->GetClientRect(&rect);
// 画面のデバイスコンテキスト
CPaintDC dc(this);
// BitMapデータ
CBitmap bmp;
//bmp.CreateCompatibleBitmap(&dc, rect.right, rect.botto...
bmp.LoadBitmap(rsrcID);
// バックバッファ用デバイスコンテキスト
CDC memDC;
memDC.CreateCompatibleDC(&dc);
// BitMapデータとバックバッファ用デバイスコンテキストを...
memDC.SelectObject(&bmp);
// バックバッファをフロントに転送
dc.BitBlt(0, 0, rect.right, rect.bottom, &memDC, 0, 0, S...
// BitMapデータを開放
bmp.DeleteObject();
終了行:
** リサイズ時のちらつき [#pa99c771]
*** View [#j8330691]
+ OnEraseBkgnd(CDC* pDC) をオーバーライトして,ここで画面...
+ 画面の書き換えは他の場所で行う
*** ToolBar [#x07afc90]
+ OnEraseBkgndEdit(CDC* pDC) でその都度画面を書き換える
BOOL CExToolBar::OnEraseBkgnd(CDC* pDC)
{
// ちらつき防止
::InvalidateRect(this->m_hWnd, NULL, FALSE);
::UpdateWindow(this->m_hWnd);
return CToolBar::OnEraseBkgnd(pDC);
}
*** ダブルバッファ [#f5b727af]
- 例
// 画面の大きさ
RECT rect;
this->GetClientRect(&rect);
// 画面のデバイスコンテキスト
CPaintDC dc(this);
// BitMapデータ
CBitmap bmp;
//bmp.CreateCompatibleBitmap(&dc, rect.right, rect.botto...
bmp.LoadBitmap(rsrcID);
// バックバッファ用デバイスコンテキスト
CDC memDC;
memDC.CreateCompatibleDC(&dc);
// BitMapデータとバックバッファ用デバイスコンテキストを...
memDC.SelectObject(&bmp);
// バックバッファをフロントに転送
dc.BitBlt(0, 0, rect.right, rect.bottom, &memDC, 0, 0, S...
// BitMapデータを開放
bmp.DeleteObject();
ページ名: