不规则对话框的又一实现
不規(guī)則對話框的又一實(shí)現(xiàn)
作者:
代碼運(yùn)行效果圖如下:
此不規(guī)則對話框的實(shí)現(xiàn)應(yīng)用了一個(gè)重要的位圖對話框類——CBitmapDialog ,通過靈活運(yùn)用,可以實(shí)現(xiàn)任意形狀的對話框。
一、CBitmapDialog 簡介:
CBitmapDialog從CDialog派生并封裝了根據(jù)位圖形成任意形狀對話框的功能,類的實(shí)現(xiàn)也非常簡單,主要是一些加載位圖、設(shè)置透明色等操作,最關(guān)鍵的函數(shù)是MakeWindowRgn, 它根據(jù)位圖生成所需的區(qū)域?qū)ο? 然后調(diào)用SetWindowRgn將窗口設(shè)置成需要的形狀,MakeWindowRgn函數(shù)的具體代碼請參考本文配套的代碼。
二、CBitmapDialog類的使用
下面介紹CBitmapDialog類的使用過程:
1. 運(yùn)行VC,建立基于對話框的應(yīng)用程序 BitmapDlg。設(shè)置對話框的屬性,去掉邊框和標(biāo)題欄。
2. 插入位圖。(在插入->資源->選 Bitmap)
3. 在CBitmapDialogDlg 的BOOL CBmpDlgDlg::OnInitDialog() 中添加如下代碼:
4. 將 CBitmapDialogDlg 的基類改為 CBitmapDialog,并將更改相應(yīng)的消息映射。
請大家都來試一試吧!
總結(jié)
以上是生活随笔為你收集整理的不规则对话框的又一实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MATLAB粒子模拟代码注释
- 下一篇: 一、“用黑色的眼睛寻找光明”