關於MFC介面設計的問題

2021-10-20 07:11:34 字數 1580 閱讀 9354

1樓:匿名使用者

軟體介面的形狀貌似不可改變。顏色倒是可以設定的過載函式hbrush cextractstringdlg::onctlcolor(cdc* pdc, cwnd* pwnd, uint nctlcolor)

else if(nctlcolor == ctlcolor_edit)

// todo: 如果預設的不是所需畫筆,則返回另一個畫筆return hbr;

}在初始化對話方塊加入m_hbrush = createsolidbrush(rgb(205, 255, 205));

2樓:匿名使用者

可以通過自畫對話方塊以及貼圖來實現您的需求。

3樓:mfc問題

介面的形狀可以這樣處理,你先在矩形介面上把你不要的部分用別的顏色區別,然後建立視窗後讓這顏色透明就行啦。透明**:(這**是別人的,我做介面時可以用,希望對你有幫助)

#define lwa_colorkey 0x00000001 //方式

#define ws_ex_layered 0x00080000

typedef bool (winapi *lpfnsetlayeredwindowattributes)(hwnd hwnd, colorref crkey, byte balpha, dword dwflags);

lpfnsetlayeredwindowattributes setlayeredwindowattributes;

//設定成邊緣透明

colorref maskcolor=rgb(0,0,0); //你要透明的顏色

hmodule huser32 = getmodulehandle("user32.dll"); //載入動態連結庫setlayeredwindowattributes = (lpfnsetlayeredwindowattributes)getprocaddress(huser32,"setlayeredwindowattributes");

//取得setlayeredwindowattributes函式指標

//為視窗加入ws_ex_layered擴充套件屬性

setwindowlong(this->getsafehwnd(), gwl_exstyle, getwindowlong(getsafehwnd(), gwl_exstyle)^ws_ex_layered);

//呼叫setlayeredwinowattributes函式

setlayeredwindowattributes(this->getsafehwnd(), maskcolor, 192, lwa_colorkey);

freelibrary(huser32); //釋放動態連結庫

以上**加入oninitdialog()中,其中 setlayeredwindowattributes(this->getsafehwnd(), maskcolor, 192, lwa_colorkey); 裡,maskcolor為將進行透明處理的顏色, 192為透明度, lwa_colorkey為透明方式。

若要透明整個對話方塊,則lwa_colorkey=2;

若要對選定顏色透明,則lwa_colorkey=1;

什麼是介面設計很急,什麼是UI介面設計

介面設計就是軟體的選單,圖形視窗,文字窗,下拉選擇,按鈕等等的設計。程式設計軟體裡都有工具完成介面設計。介面設計就是軟體的選單啊,人與機器之間傳遞和交換資訊的媒介 什麼是ui介面設計 10 ui介面設計是指對軟體的人機互動 操作邏輯 介面美觀的整體設計。ui設計分為實體ui和虛擬ui,網際網路說的u...

對介面設計做簡要介紹,什麼是ui介面設計

介面設計也就是常說的ui設計,是人與機器之間傳遞和交換資訊的媒介,對軟體的人機互動 操作邏輯 介面美觀的整體設計。好的ui設計不僅是讓軟體變得有個性有品味,還要讓軟體的操作變得舒適 簡單 自由,充分體現軟體的定位和特點。最簡單的就拿常用的手機來說吧,經過專業介面設計的手機或者手機應用都讓我們賞心悅目...

matlab gui介面設計,matlab怎麼做gui介面設計

可以直接相加,但是加完了以後要進行資料範圍的調整。影象相加有專門的函式回的 z imadd x,y 但是這個函式如果答相加超過了表示範圍的話會截掉為了避免超出範圍,可以稍微調整一下 z imadd x 2,y 2 具體根據效果調整係數 matlab怎麼做gui介面設計 matlab gui寫的簡單的...