精通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++程式設計筆記
- 讀書筆記(2)《微精通》筆記
- 《JavaScript程式設計精解》--讀書筆記JavaScript程式設計筆記
- 反應式程式設計讀書筆記程式設計筆記
- 《Java程式設計思想》讀書筆記一Java程式設計筆記
- CSAPP 併發程式設計讀書筆記APP程式設計筆記
- 讀書筆記-Java程式設計思想-03筆記Java程式設計
- python高階程式設計讀書筆記(一)Python程式設計筆記
- C#高階程式設計 讀書筆記C#程式設計筆記
- 《程式設計師自我修養》讀書筆記程式設計師筆記
- 《程式設計師修煉之道》讀書筆記程式設計師筆記
- 《Go 語言程式設計》讀書筆記(十一)底層程式設計Go程式設計筆記
- 《Effective C++》讀書筆記C++筆記
- C++讀書筆記:字串C++筆記字串
- 《JavaScript Dom程式設計藝術》讀書筆記(一)JavaScript程式設計筆記
- 《Go 語言程式設計》讀書筆記(十)反射Go程式設計筆記反射
- 《Go 語言程式設計》 讀書筆記 (八) 包Go程式設計筆記
- 《Go 語言程式設計》讀書筆記(四)介面Go程式設計筆記
- 《Go 語言程式設計》讀書筆記 (三) 方法Go程式設計筆記
- 《程式設計師的自我修養》-讀書筆記程式設計師筆記
- C語言程式設計讀書筆記:結構C語言程式設計筆記
- C++核心程式設計筆記C++程式設計筆記
- Head First設計模式讀書筆記設計模式筆記
- 大話設計模式 讀書筆記設計模式筆記
- 《Go 語言程式設計》讀書筆記 (二)函式Go程式設計筆記函式
- 【讀書筆記】Java併發程式設計的藝術筆記Java程式設計
- 《重構:改善既有程式碼的設計》讀書筆記筆記
- 《重構-改善既有程式碼的設計》讀書筆記筆記
- Java 併發程式設計實踐 讀書筆記四Java程式設計筆記
- 高效程式設計師的45個習慣 讀書筆記程式設計師筆記
- 《重構:改善既有程式碼的設計》讀書筆記(一)筆記
- 《Go 語言程式設計》讀書筆記 (九) 命令工具集Go程式設計筆記
- JavaScript DOM 程式設計藝術(第2版) 讀書筆記JavaScript程式設計筆記
- 《重構 改善既有程式碼的設計》 讀書筆記(十五)筆記
- 《C專家程式設計》讀書筆記(1-3章)程式設計筆記
- 讀書筆記#五導家-設計觀筆記