青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

love in C++, live on MFC

to get ready...

C++博客 首頁 新隨筆 聯系 聚合 管理
  47 Posts :: 0 Stories :: 97 Comments :: 0 Trackbacks
在重載CSplitterWnd中,重載了OnPaint(),
默認的代碼如下:
void?CHideSplitterWnd::OnPaint()?
{
????CPaintDC?dc(
this);?//
?device?context?for?painting
????
//
?TODO:?Add?your?message?handler?code?here
????
//?Do?not?call?CSplitterWnd::OnPaint()?for?painting?messages

}
wizard添加的代碼居然有這樣一行://?Do?not?call?CSplitterWnd::OnPaint()?for?painting?messages,后面有個猜測。
然后我繼續寫我的函數:
void?CHideSplitterWnd::OnPaint()?
{
????CPaintDC?dc(
this);?//
?device?context?for?painting
????
????
//?調用基類,先

????CSplitterWnd::OnPaint();
????
?????//
利用dc畫一些別的東西,但是實際上,它們永遠不會被畫出來
???//除非不調用基類的OnPaint()

????m_rectButton.DrawButton(&dc);
}
結果我添加的東西怎么也不會被畫出來,為什么會這樣?

看了CSplitterWnd::OnPaint()的代碼,發現它也用了一個CPaintDC,而且也是個臨時變量
void?CSplitterWnd::OnPaint()
{
????ASSERT_VALID(
this
);
????CPaintDC?dc(
this);
而關鍵的地方就在CPaintDC的ctor和dtor中了:在CPaintDC的ctor中調用了
::BeginPaint(m_hWnd?=?pWnd->m_hWnd,?&m_ps)
而在CPaintDC的dtor中調用了
::EndPaint(m_hWnd,?&m_ps);
而:BeginPaint是開始根據當前的cliprect來畫,EndPaint則會清空當前的cliprect。

所以,前面調用基類的OnPaint的過程結束后,當前的cliprect為NULL,所以,第二個CPaintDC在視圖畫點什么時,cliprect已經為NULL,當然什么也畫不上去了 :)

如果我一定想再用CPaintDC畫點什么,怎么辦?再次調用InvalidateRect,使得cliprect不為空。
void?CHideSplitterWnd::OnPaint()?
{
??? //注意臨時變量聲明的順序,因為BeginPaint/EndPaint是不支持嵌套的
????//CPaintDC?dc(
this);?//
?device?context?for?painting
????
????
//?TODO:?Add?your?message?handler?code?here

????CSplitterWnd::OnPaint();
????
??? //第二此調用
????InvalidateRect(
&
m_rectButton,FALSE);
????CPaintDC?dc(
this);?//?在這里,device?context?for?painting

????m_rectButton.DrawButton(&dc);
????
????
//?Do?not?call?CSplitterWnd::OnPaint()?for?painting?messages

}
所以,我猜測,所有用了CPaintDC的地方,MFC都會加一句:不要調用基類的函數啦~

呵呵,不知道我講清楚沒有
posted on 2006-05-22 23:39 flyingxu 閱讀(3472) 評論(3)  編輯 收藏 引用 所屬分類: VC/MFCBug of Today

Feedback

# re: 在OnPaint()使用兩次CPaintDC,關于::BeginPaint()/::EndPaint() 2006-05-23 08:36 cmdn
請教一下,你那個代碼不是圖片,是怎么貼上去的?  回復  更多評論
  

# re: 在OnPaint()使用兩次CPaintDC,關于::BeginPaint()/::EndPaint() 2006-06-08 23:17 flyingxu
@cmdn
是cppblog編輯時選的“代碼段”格式。  回復  更多評論
  

# re: 在OnPaint()使用兩次CPaintDC,關于::BeginPaint()/::EndPaint() 2007-04-27 09:55 困惑于OnPaint的人
void CMyView::OnPaint()
{

CPaintDC dc(this); // device context for painting

// TODO: Add your message handler code here
CView::OnPaint();

dc.TextOut(0,0,"hello"); //這個能在屏幕顯示出來,為什么?
// Do not call CView::OnPaint() for painting messages
}

我上面的這段代碼能正常運行,且能在屏幕上正確顯示"hello"字符串  回復  更多評論
  

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产欧美日韩亚洲精品| 久久一区中文字幕| 国产精品成人久久久久| 免费成人在线观看视频| 亚洲欧美日本伦理| 亚洲一区二区黄色| 亚洲欧美日韩一区在线| 欧美一区二区在线| 久久久久久久波多野高潮日日| 久久久午夜精品| 亚洲黑丝在线| 亚洲精品一区二区网址| 亚洲五月婷婷| 久久久久www| 欧美国产精品一区| 国产精品视频精品| 在线看国产日韩| 一区二区三区欧美视频| 久久成人资源| 亚洲国产美女| 亚洲欧美日韩一区二区三区在线| 久久久国产精品亚洲一区| 欧美日本国产精品| 久久精品在线视频| 你懂的国产精品永久在线| 亚洲精品午夜精品| 欧美伊人久久久久久久久影院| 老司机亚洲精品| 国产精品国产三级国产普通话三级| 国产一区二区中文字幕免费看| 日韩一级大片| 久久久国产精品一区二区三区| 亚洲激情欧美激情| 久久精品国产亚洲aⅴ| 欧美日韩精品一二三区| 一区在线影院| 欧美一级理论性理论a| 亚洲高清免费| 欧美一区二区视频网站| 欧美日韩妖精视频| 亚洲黄色高清| 国产一区二区三区在线观看网站| 亚洲成人在线视频播放| 亚洲午夜在线观看| 亚洲国产精品va在线看黑人动漫| 欧美一区二区免费观在线| 欧美日韩国产综合一区二区| 一区二区视频免费完整版观看| 亚洲午夜在线观看视频在线| 欧美激情小视频| 久久久精品性| 狠狠色综合色综合网络| 欧美一区二区三区免费视| 一区二区三区免费在线观看| 欧美日产在线观看| 亚洲美女免费精品视频在线观看| 美女黄毛**国产精品啪啪| 欧美一区二区视频在线观看2020| 国产精品日韩欧美一区二区| 亚洲自拍三区| 亚洲午夜一区二区三区| 欧美精品在线一区二区| 欧美成人亚洲成人| 国产一区二区在线观看免费播放| 亚洲欧美国产不卡| 亚洲网友自拍| 国产精品乱看| 欧美自拍偷拍午夜视频| 亚洲欧美在线播放| 国产三级精品在线不卡| 久久超碰97人人做人人爱| 亚洲欧美国产另类| 国产欧美日韩中文字幕在线| 性欧美videos另类喷潮| 亚洲欧美日韩精品久久久| 国产欧美日韩亚州综合| 久久手机免费观看| 久久久久国色av免费观看性色| 在线看片成人| 亚洲免费av片| 国产欧美日韩免费看aⅴ视频| 欧美伊人久久| 久久综合福利| 正在播放亚洲| 亚洲欧美视频在线观看| 黄色日韩网站视频| 亚洲国产成人精品女人久久久 | 国产亚洲一级高清| 老司机成人网| 欧美激情影院| 欧美在线日韩精品| 久久人人九九| 99精品国产在热久久| 亚洲视频香蕉人妖| 在线电影国产精品| 日韩亚洲精品视频| 激情综合亚洲| 一区二区三区欧美激情| 亚洲成人在线视频网站| 亚洲一区二区视频在线| 亚洲欧洲日本国产| 午夜视频久久久| 一区二区激情视频| 另类欧美日韩国产在线| 亚洲香蕉网站| 久久青草久久| 亚洲欧美日本在线| 你懂的亚洲视频| 欧美一级精品大片| 欧美另类69精品久久久久9999| 欧美一区网站| 欧美人在线观看| 久久久精彩视频| 欧美日韩在线一区| 欧美成人资源网| 国产日韩欧美在线播放不卡| 亚洲欧洲精品一区二区三区不卡| 国产亚洲欧美一级| 99国产精品久久久久久久久久| 伊人久久综合97精品| 亚洲综合视频1区| 一区二区三区久久网| 久久综合一区| 久久蜜桃精品| 久久精品中文| 午夜视频一区在线观看| 欧美日本在线播放| 亚洲国产精品一区二区尤物区| 国产亚洲欧美一区二区三区| 亚洲手机在线| 亚洲欧美久久久| 国产精品成人一区| 夜夜狂射影院欧美极品| 一区二区三区免费网站| 欧美日韩美女在线观看| 亚洲精品一区二区在线观看| 亚洲精品日日夜夜| 另类综合日韩欧美亚洲| 久色成人在线| 亚洲大片av| 欧美成人伊人久久综合网| 欧美成人一区在线| 亚洲日本成人网| 欧美激情女人20p| 亚洲精品在线观| 亚洲男人的天堂在线| 国产精品永久入口久久久| 小辣椒精品导航| 蜜桃av噜噜一区| 亚洲精品国久久99热| 欧美精品高清视频| 亚洲午夜精品一区二区| 久久精品盗摄| 亚洲成人自拍视频| 欧美人成在线视频| 亚洲专区欧美专区| 另类专区欧美制服同性| 亚洲国产精品va在线看黑人动漫| 欧美激情91| 亚洲一区www| 久久久九九九九| 亚洲成色777777在线观看影院| 免费视频一区二区三区在线观看| 亚洲国产高清一区| 亚洲欧美视频在线观看视频| 狠狠色综合网站久久久久久久| 欧美国产第二页| 先锋影音国产精品| 亚洲国产高清高潮精品美女| 亚洲欧美日韩国产综合| 国产一区二区0| 欧美成人午夜免费视在线看片| 一二三区精品| 麻豆av一区二区三区| 99精品国产99久久久久久福利| 欧美性一二三区| 欧美中文字幕不卡| 亚洲精品视频一区二区三区| 久久精品视频一| 一区二区三区免费网站| 一区二区亚洲精品国产| 欧美天天在线| 欧美xxxx在线观看| 欧美亚洲视频| 99国产精品久久久久久久久久 | 久久三级视频| 国产精品99久久久久久久久久久久| 久久久久成人精品| 99riav国产精品| 一区二区三区在线视频播放| 国产精品久久一级| 欧美精品一区在线| 久久精品在线播放| 中国女人久久久| 99精品视频免费| 激情婷婷久久| 国产日韩欧美不卡在线| 欧美黑人多人双交| 亚洲一区免费在线观看| 免费成人黄色片|