//動態建立乙個按鈕
_hwndarrowbutton = createwindow(l"button",//視窗型別,為按鈕
null,
ws_visible |ws_popup | bs_ownerdraw,//按鈕樣式
428,66,50,50,//按鈕位置和大小
_hwnd,//父視窗控制代碼
(hmenu)id_arrow_up,//按鈕的資源id
g_hinstance,
null);
//設定此按鈕視窗的區域
setupregion(_hwndarrowbutton , idb_arrow, rgb(255,255,255) );
//設定區域函式實現如下(**於網路,有修改)
void setupregion(hwnd hwnd, int buttonid, colorref transcolor)
{hdc hdc;
hdc = getwindowdc(hwnd);
//建立與傳入dc相容的臨時dc
hdc memdc= ::createcompatibledc(hdc);
hbitmap holdmembmp = loadbitmap(g_hinstance, makeintresource(buttonid));
//將位圖選入臨時dc
selectobject(memdc,holdmembmp);
//建立總的窗體區域,初始region為0
hrgn wndrgn = ::createrectrgn(0,0,0,0);
//取得位圖引數,這裡要用到位圖的長和寬
bitmap bit;
getobject(holdmembmp,sizeof(bitmap),&bit);
int y;
for(y=0;y
引數1:被設定按鈕(視窗)的控制代碼
引數3:點陣圖中需要鏤空掉的顏色,本例中使用的是rgb(255,255,255)白色,也就是說矩形中不需要的部分填充成一種顏色,該函式就會忽略掉該顏色的區域來設定視窗。
C 建立非矩形窗體
using system using system.collections.generic using system.componentmodel using system.data using system.drawing using system.text using system.window...
點選乙個按鈕,彈出乙個視窗
在calculator視窗的button1按鈕執行呼叫乙個mycalc類的視窗。void ccalculatordlg onbnclickedbutton1 幾個函式 1.getdlgitem dlg 對話窗,乙個控制項。根據乙個對話窗或乙個控制項的id,返回乙個指向這個對話窗或控制項的物件的指標。...
WPF 非矩形視窗的建立
第 一 視窗的allowstransparency設定為true 第二 視窗的background設定為transparent 第三 視窗的windowstyle設定為none 第四 視窗內的grid用clip或者border設定為需要的形狀 示例 利用clip實現圓角視窗 1 window x c...