如何用MFC建立透明畫板

2021-07-04 16:22:18 字數 944 閱讀 9085

如何用mfc建立透明的背景,不透明的繪畫

1,設定窗體為全螢幕顯示

//獲取螢幕的長和寬

int iwidth = ::getsystemmetrics(sm_cxscreen);

int iheight = ::getsystemmetrics(sm_cyscreen);

//設定窗體位置和大小

setwindowpos(null, 0, 0, iwidth, iheight,swp_nozorder|swp_showwindow);

2,設定窗體為透明狀體,若將窗體設定為完全透明,則捕獲不到滑鼠事件,所以設定為近乎透明。

setwindowlong(getsafehwnd(),

gwl_exstyle,

::getwindowlongptr(getsafehwnd(), gwl_exstyle) | ws_ex_layered);

this->setlayeredwindowattributes(rgb(255,0,0), (255 * 0.5) / 100, lwa_alpha | ulw_colorkey);

setlayeredwindowattributes

函式說明:

crkey:掩碼顏色

balpha:透明度

dwflags:可以為兩個值:

lwa_alpha:掩碼無效,全部設定為第二個引數的透明度。

lwa_colorkey:透明度無效,掩碼顏色為透明

可以與運算

3,獲取螢幕dc,ommousemove中

cwindowdc dc(getdesktopwindow());

cpen pen;

pen.createpen(ps_solid, 2, rgb(0, 0, 0));

dc.selectobject(&pen);

if (m_isdown)

如何用VB製作半透明窗體?

函式setlayeredwindowattributes 使用這個函式,可以輕鬆的實現半透明窗體。按照微軟的要求,透明窗體窗體在建立時應使用ws ex layered引數 用createwindowex 或者在建立後設定該引數 用setwindowlong 我選用後者。全部函式 常量宣告如下 pri...

如何用幾何畫板繪製立體圓錐體

幾何畫板繪製平面圖形十分方便,如果巧用灰度顏色,也能將一些立體圖形做出逼真的效果。以圓錐體為例,下面就和大家介紹如何用幾何畫板構造立體圓錐體。具體操作步驟如下 1.構造橢圓。構造水平射線 ab,點住自定義工具圖示,選 圓錐曲線 a 中的 橢圓 中心 頂點 在射線 ab上依次點c和d兩個點,構造橢圓。...

如何用幾何畫板畫角平分線

在學習角的知識時,會涉及到角平分線的問題,之前畫角平分線時都是借助尺規的,現在有了幾何畫板這麼強大的工具,可以輕鬆畫出角平分線,下面一起來學習角平分線的畫法。具體步驟如下 1.構造角。利用 點工具 在平面內做乙個公共點,然後用 線段直尺工具 畫兩條線作出角的兩邊。利用點工具和線段工具構造乙個完整的角...