精通Visual C++圖象程式設計---讀書筆記6.2
由於活動的視窗或應用程式將用自己的調色盤更新系統調色盤,當系統察覺到調色盤發生變化時,將向程式的主框視窗傳送WM_PALETTECHANGED和WM_QUERYNEWPALETTE訊息.所以只能在主框視窗中響應這兩個訊息,然後由主框窗通知各視窗,使得程式啟用時能自動裝載自己的調色盤.
當前調色盤由顯示DIB的各視窗儲存,所以在接收到WM_PALETTECHANGED和WM_QUERYNEWPALETTE訊息時,應通知視窗.
我們定義了一個使用者訊息WM_REALIZEPAL,用於主框通知視窗,它已收到通知視窗WM_PALETTECHANGED和WM_QUERYNEWPALETTE訊息,視窗應協調其調色盤.該訊息在MainFrm.h中定義如下:
#define WM_REALIZEPAL (WM_USER+0x100)
響應WM_PALETTECHANGED和WM_QUERYNEWPALETTE的函式程式碼如下:
void CMainFrame::OnPaletteChanged(CWnd* pFocusWnd)
{
CMDIFrameWnd::OnPaletteChanged(pFocusWnd);
//總實現在活動視的調色盤
CMDIChildWnd* pMDIChildWnd=MDIGetActive();
if(pMDIChildwnd==NULL)
return; //沒有活動的視
CView* pView=pMdiChildWnd->GetActiveView();
ASSERT(pView!=NULL);
//通知所有的子窗,系統調色盤已修改
SendMessageToDescendants(WM_REALIZEPAL,(WPARAM)pView->m_hWnd);
}
BOOL CMainFrame::OnQueryNewPalette()
{
//總實現在活動視的調色盤
CMDIChildWnd* pMDIChildWnd=MDIGetActive();
if(pMDIChildWnd==NULL)
return FALSE;//沒有活動的子窗
CView* pView=pMDIChildWnd->GetActiveView();
ASSERT(pView!=NULL);
//通知相應的視,系統調色盤已修改
pView->SendMessage(WM_REALIZEPAL,(WPARAM)pView->m_hWnd);
return TRUE;
}....
後面的看精通Visual C++圖象程式設計158頁,呵呵,這讓我懂得了qq換皮膚原來 可以那麼簡單.
相關文章
- 精通Visual C++圖象程式設計------讀書筆記8C++程式設計筆記
- 精通Visual C++圖象程式設計---讀書筆記6.1C++程式設計筆記
- 精通Visual C++圖象程式設計---讀書筆記5C++程式設計筆記
- 《精通JavaScript》讀書筆記JavaScript筆記
- 讀書筆記(2)《微精通》筆記
- 《程式設計匠藝》讀書筆記程式設計筆記
- 《高質量C++程式設計指南》讀書筆記(一) (轉)C++程式設計筆記
- 《JavaScript程式設計精解》--讀書筆記JavaScript程式設計筆記
- 《Java程式設計思想》讀書筆記一Java程式設計筆記
- 讀書筆記-Java程式設計思想-03筆記Java程式設計
- Java遊戲程式設計讀書筆記(轉)Java遊戲程式設計筆記
- 反應式程式設計讀書筆記程式設計筆記
- CSAPP 併發程式設計讀書筆記APP程式設計筆記
- C#高階程式設計 讀書筆記C#程式設計筆記
- 《程式設計師的吶喊》讀書筆記程式設計師筆記
- 《程式設計師自我修養》讀書筆記程式設計師筆記
- 《程式設計師修煉之道》讀書筆記程式設計師筆記
- C++讀書筆記:字串C++筆記字串
- 《Effective C++》讀書筆記C++筆記
- 《Go 語言程式設計》讀書筆記(十一)底層程式設計Go程式設計筆記
- 一個程式設計師的讀書筆記:程式設計的反思程式設計師筆記
- 《Go 語言程式設計》讀書筆記(四)介面Go程式設計筆記
- 《Go 語言程式設計》 讀書筆記 (八) 包Go程式設計筆記
- 《Go 語言程式設計》讀書筆記(十)反射Go程式設計筆記反射
- 《Go 語言程式設計》讀書筆記 (三) 方法Go程式設計筆記
- 《JavaScript Dom程式設計藝術》讀書筆記(一)JavaScript程式設計筆記
- python高階程式設計讀書筆記(一)Python程式設計筆記
- 《程式設計師的自我修養》-讀書筆記程式設計師筆記
- C語言程式設計讀書筆記:結構C語言程式設計筆記
- 讀書筆記 - 《程式設計師的自我修養》筆記程式設計師
- Head First Javascript 程式設計讀書筆記(一)JavaScript程式設計筆記
- Head First Javascript 程式設計讀書筆記(二)JavaScript程式設計筆記
- Head First Javascript 程式設計讀書筆記(三)JavaScript程式設計筆記
- Head First Javascript 程式設計讀書筆記(四)JavaScript程式設計筆記
- Java程式設計思想讀書筆記一:併發Java程式設計筆記
- 《Servlet與JSP核心程式設計》讀書筆記ServletJS程式設計筆記
- 《Effective C++》第4章 設計與宣告(2)-讀書筆記C++筆記
- 《Effective C++》第4章 設計與宣告(1)-讀書筆記C++筆記