vc 對話方塊 圓角視窗

2021-06-23 06:25:44 字數 771 閱讀 4176

為了實現圓角的對話方塊視窗,這裡主要用兩個函式,

createroundrectrgn,和setwindowrgn

程式先通過getwindowrgn函式得到視窗矩形,然後通過createroundrectrgn函式建立乙個圓角矩形,最後通過setwindowrgn函式改變視窗的形狀。

具體操作如下:

1  開啟「class view」,右擊「cmydlg」,出現乙個選單,選擇「addwindow message handler..」

2  之後在「new windows messages\events」中雙擊「onsize」,「ok」

void cmydlg::onsize(uint ntype, int cx, int cy)

cdialog::onsize(ntype, cx, cy);

// todo: add your message handler code here

crgn m_rgn;

crect rc;

getwindowrect(&rc);

rc-=rc.topleft();

m_rgn.createroundrectrgn(rc.left,rc.top,rc.right,rc.bottom,100,100);

setwindowrgn(m_rgn,true);

其他視窗的操作基本上相同,都按照這個操作

執行結果如下:

VC實現對話方塊視窗任意分割

最近寫mfc的程式,想在對話方塊裡實現視窗的任意分割。現在網路資料一大抄,找個東西實在麻煩。總算這個很簡單,很快就搞定了,寫下來做個筆記。個人認為簡單問題最好就是直接貼源 一看就明白,說來說去反而弄不清楚,那我就少廢話了,自己看吧,注釋很清楚。先來張 1.新建乙個mfc對話方塊程式mysplitte...

VC實現對話方塊視窗任意分割

最近寫mfc的程式,想在對話方塊裡實現視窗的任意分割。現在網路資料一大抄,找個東西實在麻煩。總算這個很簡單,很快就搞定了,寫下來做個筆記。個人認為簡單問題最好就是直接貼源 一看就明白,說來說去反而弄不清楚,那我就少廢話了,自己看吧,注釋很清楚。先來張 1.新建乙個mfc對話方塊程式mysplitte...

swift畫圓角對話方塊

這裡的圓角的對話方塊 我指的是類似安卓的.9.png那樣的圓角的對話方塊,就是這個樣子的。分解出來就是乙個實心的圓角矩形加乙個三角形,外面用直線描邊,裡面寫一些居中懸浮的字串而已。1.畫圓角矩形 假設x1,y1為右下角的點 let rx cgfloat 4 圓角弧度 cgcontextsetfill...