VC如何設定對話方塊的背景為透明效果

2025-01-03 13:20:06 字數 2562 閱讀 2037

1樓:vc程式設計師

/在oninitdialog裡進行初始化,新增如下**setwindowlong(this->getsafehwnd(),gwl_exstyle,getwindowlong(this->getsafehwnd(),gwl_exstyle)^0x80000);

hinstance hinst = loadlibrary("");

if(hinst)

typedef bool (winapi *myfunc)(hwnd,colorref,byte,dword);

myfunc fun = null;

取得setlayeredwindowattributes函式指標fun=(myfunc)getprocaddress(hinst, "setlayeredwindowattributes");

if(fun)

fun(this->getsafehwnd(),0,128,2);

freelibrary(hinst);

經典(引用他人的)

2樓:淡蘭蕙藤芹

為對話方塊設定背景顏色、控制項顏色。

既然mfc對話方塊不好開發,

c++ 對話方塊 背景透明處理

3樓:網友

對話方塊的背景顯示透明?直接看到對話方塊之後的其他對話方塊視窗或者桌面?透明部分。

否則不要黑色的話,自己先貼個其他顏色的背景純色圖在後面,再貼png**,透明部分就看到的是背景純色圖顏色了。

否則獲取視窗後面的其他視窗或者桌面該區域圖,自己貼為背景,再貼png或者設定對話方塊透明(可能是某種顏色為透明色,對話方塊背景顏色該為該顏色,不要透明的部分,不要設定為該顏色就可以了)

當重繪時,設定或者攔截或遮蔽對話方塊背景的重繪。

在mfc基本對話方塊中怎麼樣實現**的背景透明化???

4樓:網友

用bitblt函式,雪花最好是黑色背景。

cdc *pdc;

pdc=getdc();

cbitmap bmp,bk;

/載入你新增的點陣圖(雪花)

nwidth,nheight);//裝置相容點陣圖,做背景畫布cdc memdc,snowdc;//前者是背景,後者是雪花;

第一對0,0是雪花顯示在memdc中的座標,width,height是雪花**大小,snowdc是儲存了**的dc,從snowdc的0,0位置拷貝,srcpaint可以把snowdc中的非黑色部分拷貝到memdc,也就是你要的透明效果。

pdc->就是memdc的大小。

vc裡面怎麼改變對話方塊內背景的不透明度?

5樓:賞曜開立誠

今天我剛看了,你看行不行啊。

在對檔咐話框類的oninitdialog函式中新增如行謹純下**:

getwindowlong(this->getsafehwnd(),gwl_exstyle,getwindowlong(this->getsafehwnd(),gwl_exstyle)^0x80000);

hinstance

hins=loadlibrary(「;

if(hinst)

typedef

boolwinapi

myfunc)(hwnd,colorref,byte,dword);

myfunc

funnull;

取得setlayeredwindowattribute函式指標。

fun=(myfunc)getprocaddress(hins,」setlayeredwindowattributes」);

if(fun)

fun(this->getsafehwnd(),0,128,2);/第晌巧三個引數不要取得太小,取0就看不到了,完全透明瞭。

freelibrary(hins);

mfc:怎樣把對話方塊中的自選按鈕背景設定為透明的?

6樓:網友

右擊控制項->屬性,找到transparent,打勾。

7樓:你心靈的守護神

重繪一下按鈕,響應wm_colour訊息,在裡面設定一下就ok了。

vc static控制項背景設定成透明??

8樓:魔高丈

假設你的static控制項id為idc_static1:

然後過載對話方塊的wm_ctlcolor訊息:

在onctlcolor中新增如下**:

hbrush cyourdlg::onctlcolor(cdc* pdc, cwnd* pwnd, uint nctlcolor)

todo: return a different brush if the default is not desired

return hbr;}

9樓:網友

把控制項的transparent屬性設為true應該就行了吧。

10樓:網友

如果是多個控制項同時修改呢?

VC編寫基於對話方塊的程式,功能為計算圓的面積和周長,輸入半徑

這個貌bai似挺簡單的吧?建du 立一個基於對話方塊的應zhi 用程式,添dao加三個編輯框,一版個輸入半徑,另外兩個權分別顯示面積和周長,對三個編輯框分別新增關聯變數,新增一個按鈕,在該按鈕的響應函式中計算周長和麵積。這樣就搞定了 那用c 語言編寫一個程式從鍵盤輸入圓的半徑計算該圓的周長面積是多少...

用WPF如何彈出檔案選擇對話方塊

在wpf中中,openfiledialog位於 microsoft.win32 名稱空間。wpf程式使用openfiledialog的方法如下 1 在visual studio中新建一個 wpf應用程式 專案 2 mainwindow.xaml 3 mainwindow.cs public part...

電腦設定密碼後開機不顯示密碼輸入對話方塊怎麼辦

在windows xp中單擊 開始 執行 輸入 rundll32 plwiz.dll,usersrundll 注意大小寫及空格 按回車就會出現一個 使用者賬戶 的操作視窗,選擇 要使用本機,使用者必須輸入使用者名稱和密碼 的項,點選 應用 1 你用哪個使用者名稱登陸的。2 你給哪個使用者名稱設定密碼...