建立不透明平面風格的工具欄

2021-06-16 17:39:47 字數 1013 閱讀 2467

今天學習羅雲彬win32彙編教材的工具欄一節,核心**為:

hwin******* = create*******ex(hwnd

,ws_visible|ws_child|tbstyle_flat|tbstyle_tooltips|ccs_adjustable

,id_*******

,0,hinst_commctrl

,idb_std_small_color

,st*******

,num_buttons

,0,0,0,0

,sizeof(tbbutton));

nstyle = getwindowlong(hwin*******,gwl_style);

nstyle &= ~tbstyle_transparent;

setwindowlong(hwin*******,gwl_style,nstyle);

執行之後的效果如圖1所示,也就是工具欄被用系統背景色填充了,而我希望的效果應該是圖2,即工具欄所在的行全為白色。經星羽指點,解決辦法如下:增加如下加行**:
nstyle = getwindowlong(hwin*******,gwl_style);

nstyle &= ~tbstyle_transparent;

setwindowlong(hwin*******,gwl_style,nstyle);

即可

分析原因:tbstyle_flat這個風格除了將工具欄的按鈕設為平面風格以外,還將工具欄設為透明(即工具欄所在行全為系統背景色)。所以需要將這個透明屬性去掉即可。

圖1 平面風格但透明的工具欄

圖2 平面風格但不透明的工具欄

讓透明div裡的文字不透明

class box 這是一段不應該透明的文字 box 這樣我的文字幾乎看不清,這當然不是我想要的,隨即去查詢資料,找到了乙個解決辦法,使用css3的屬性 box 這種方式是利用css3的新屬性,更改背景的透明度,這樣就不會影響到內容的透明度,但是有乙個問題就是目前很多瀏覽器對css3的屬性不支援,沒...

關於背景透明,文字不透明的相容處理

我們在做pc端專案的時候,常常會碰到透明背景和透明的的需求,但是透明度常常有會發生很多問題,特別是背景透明內容不透明,想要相容所有瀏覽器實現起來就比較麻煩。如何實現背景透明,文字不透明,相容所有瀏覽器?其實平時說的調整透明度,其實是在樣式中調整不透明度,如下圖 實現透明的css樣式通常有以下3種方式...

CSS實現背景透明而背景上的文字不透明

在我們設計製作一些網頁的時候可能會用到半透明的效果,首先我們可能會想到用png處理,當然這是乙個不錯的辦法,唯一的相容性問題就是ie6下的bug,但這也不困難,加上一段js處理就行了。但假如我們需要乙個半透明遮罩的彈出層,如登陸框 註冊框 提示等,這時可能需要整個頁面都要被半透明的遮罩層覆蓋,那麼如...