Winform 視窗圓角實現

2022-03-24 05:22:40 字數 646 閱讀 8903

專案需要,得把winform的視窗做成圓角,同時把標題欄等一堆東西去掉,做成如下的樣子:

首先,在新建winform之後,在屬性欄中, 把maximizebox和minimizebox 置為false,同時將showicon置為false,formborderstyle置為none。之後,視窗就變成一塊白板了。

然後,ps出一張如上的背景圖來,把圖做成圓角。將改圖設為winform的背景,backgroundimagelayout設為stretch。

網上有人說此後只需要將winform的backcolor置為color.transparent就ok了, 但是vs2010會報錯,控制項背景不允許使用透明色。

所以只能學習網上有人提到的辦法,實現winform的paint時間,將視窗重繪成圓角的。

視窗圓角

1private

void main_paint(object sender, painteventargs e)

2         

這樣就把圓角視窗做出來了。需要說的是,這樣設定出來的圓角是又毛刺的,精細程度跟你手動設定的點的個數有關,是個體力活。

借鑑了別人的工作,致敬~

QT實現視窗圓角

實現上邊角圓弧 setwindowflags qt framelesswindowhint qbitmap bmp this size bmp.fill qpainter p bmp p.setpen qt nopen p.setbrush qt black p.setrenderhint qpai...

windows如何實現圓角視窗

windows做繪製時,為了美觀,常常將一些或者視窗的四個角做成圓角。例如qq視窗 計算視窗的邊界剪下域 通過windows apisetwindowrgn設定該視窗的剪下域 1.計算視窗的邊界剪下域 使用combinergn來修改邊界剪下域,常用的位操作如下 2.設定視窗的邊界剪下域 上述兩步驟,...

Qt 用Qt實現圓角視窗

實現該功能主要是呼叫qwidget的成員函式setmask.我們可以看到qt assistant介紹了兩種setmask方法,這裡我們採用第一種方法。也就是用qbitmap類例項來實現的方面。第二種方法需要自己繪製區域來實現。兩種方法都比較靈活。在dialog.cpp的建構函式中新增如下 setwi...