根據顏色值來做不規則對話方塊
外圈紅色部分會被透掉,效果如下:
所以這張就不會顯示了,越簡單越好
宣告乙個成員變數:cbitmap m_bmpdraw;
在oninitdialog()載入:m_bmpdraw.loadbitmap(idb_bg_userinfo);
//這個函式最好在oninitdialog()呼叫,初始化執行一次就可以了
void cuserinfocontrol::setupregion(cdc *pdc)
cdc memdc;
cbitmap &cbitmap=m_bmpdraw;
cbitmap* poldmembmp = null;
colorref col,colmask;
crect crect;
int x, y;
crgn wndrgn, rgntemp;
getwindowrect(&crect);
cpoint ptorg=crect.topleft();
bitmap bminfo;
cbitmap.getobject(sizeof(bminfo),&bminfo);
crect rcnewwnd=crect(ptorg,csize(bminfo.bmwidth,bminfo.bmheight));
memdc.createcompatibledc(pdc);
poldmembmp = memdc.selectobject(&cbitmap);
colmask=memdc.getpixel(0,0);
wndrgn.createrectrgn(0, 0, rcnewwnd.width(), rcnewwnd.height());
for(x=0; x<=rcnewwnd.width(); x++)
for(y=0; y<=rcnewwnd.height(); y++)
col = memdc.getpixel(x, y);
if(col == colmask)
rgntemp.createrectrgn(x, y, x+1, y+1);
wndrgn.combinergn(&wndrgn, &rgntemp, rgn_xor);
rgntemp.deleteobject();
memdc.selectobject(poldmembmp);
setwindowrgn((hrgn)wndrgn, true); }
網易部落格:
mfc 子對話方塊控制父對話方塊 MFC對話方塊構架程式
遺憾的是 從來沒有被堅定選擇過,就像是,他只是剛好需要,你只是剛好在。網易雲熱評 一 對話方塊架構分類 1 模式對話方塊,彈出來不能進行其他操作 2 無模式對話方塊,彈出來後可以進行其他操作 二 新建win32應用程式 模式對話方塊 1 建立 2 修改屬性 3 新增dialog資源 4 包含標頭檔案...
MFC 對話方塊
1 建立對話方塊模板,設定對話方塊屬性 cadditionddlg 主對話方塊類 顯示的主要介面 addition的資源樹 4個子項 dialog 對話方塊 含有2個對話方塊模板 id為idd aboutbox 關於對話方塊模板 idd addtion dlalog 主對話方塊模板 lcon 圖示 ...
MFC擴充套件對話方塊 即收縮對話方塊
mfc擴充套件對話方塊 即收縮對話方塊 效果圖如下,擴充套件前 上 擴充套件後 下 上下擴充套件 具體步驟如下 1.在.h檔案中新增如下 1private 2boolm shrink 標記是否收縮 3intm winheight 儲存對話方塊的高度 4intm shrinkheight 收縮後的對話...