線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1827
推到 Plurk!
推到 Facebook!

請問如何製作不規則形狀的Form

尚未結案
a8960905
一般會員


發表:30
回覆:47
積分:20
註冊:2003-09-19

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-03-16 19:45:20 IP:139.175.xxx.xxx 未訂閱
大家好 :    我想製作一個不規則形狀的視窗 (如附圖) 不知該用什麼辦法呢 ?     *我想做的視窗是黑色和黃色部分 留下白色部分 (有點像是做一個遮罩 中間空下來 不知可否 ?)
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-03-16 20:02:11 IP:140.135.xxx.xxx 未訂閱
a8960905您好: 下面兩連結所討論的文章應該可以達到您要的目的 http://delphi.ktop.com.tw/topic.php?topic_id=28040 http://delphi.ktop.com.tw/topic.php?topic_id=27860 請多利用站上[搜尋]功能 順心
a8960905
一般會員


發表:30
回覆:47
積分:20
註冊:2003-09-19

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-03-16 21:19:29 IP:139.175.xxx.xxx 未訂閱
引言: a8960905您好: 下面兩連結所討論的文章應該可以達到您要的目的 http://delphi.ktop.com.tw/topic.php?topic_id=28040 http://delphi.ktop.com.tw/topic.php?topic_id=27860 請多利用站上[搜尋]功能 順心 < face="Verdana, Arial, Helvetica"> 謝謝您的回覆,但我要的效果剛好相反.. 我想要的效果是中間簍空視窗圍繞四周.. 不知道應該怎麼做呢 ?
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-03-16 21:25:58 IP:140.135.xxx.xxx 未訂閱
a8960905您好:
引言:我想要的效果是中間簍空視窗圍繞四周
能否以標點符號來區隔您要表達的意思 是要讓 > 發表人 -
HomeSound
中階會員


發表:44
回覆:178
積分:94
註冊:2002-08-31

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-03-16 22:13:25 IP:61.30.xxx.xxx 未訂閱
a8960905您好:   參考看看
 WndRgn=CreateRectRgn(0,0,Image1->Width,Image1->Height);//開啟空白層
 //摳去圖片內洞洞部分
 r=Image1->Height*2-1;
 for(int y=0;yHeight;y  )
 { for(int x=a[y].x;xCanvas->Pixels[x][y]==clWhite)
   { TempRgn=CreateRectRgn(x,y,x 1,y 1);//開啟空白的矩形層
     CombineRgn(WndRgn,WndRgn,TempRgn,RGN_XOR);
     //作XOR合成圖層幹掉多餘的
   }
   r--;
 }
希望是您要的方向. --==多看.多學.多聽==--
------
--==多看.多學.多聽==--
a8960905
一般會員


發表:30
回覆:47
積分:20
註冊:2003-09-19

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-03-16 22:56:40 IP:139.175.xxx.xxx 未訂閱
引言: a8960905您好:
引言:我想要的效果是中間簍空視窗圍繞四周
能否以標點符號來區隔您要表達的意思 是要讓 > 發表人 - >< face="Verdana, Arial, Helvetica"> 真抱歉..表達不清 = =a 我想要的效果是 : Form的中間部分(眼白)簍空(變成透明) //你猜對了 因為我是要在報告的時候(投影)播放影片 但是我要把旁邊的部分遮掉 所以想到這個方法 = =
a8960905
一般會員


發表:30
回覆:47
積分:20
註冊:2003-09-19

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-03-16 22:59:22 IP:139.175.xxx.xxx 未訂閱
引言: a8960905您好: 參考看看
 WndRgn=CreateRectRgn(0,0,Image1->Width,Image1->Height);//開啟空白層
 //摳去圖片內洞洞部分
 r=Image1->Height*2-1;
 for(int y=0;yHeight;y  )
 { for(int x=a[y].x;xCanvas->Pixels[x][y]==clWhite)
   { TempRgn=CreateRectRgn(x,y,x 1,y 1);//開啟空白的矩形層
     CombineRgn(WndRgn,WndRgn,TempRgn,RGN_XOR);
     //作XOR合成圖層幹掉多餘的
   }
   r--;
 }
希望是您要的方向. --==多看.多學.多聽==--
抱歉..我一時看不太懂 = = 可以麻煩解釋清楚點ㄇ 呵呵 感謝
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-03-17 00:39:59 IP:140.135.xxx.xxx 未訂閱
a8960905您好: 之前想太多了,只需發現您只要將矩形內的白色圓形變成透明的效果即可 方式: 將Form的TransparentColor設定為true 並選擇TransparentColorValue, 您的case為clWhite 即可    若外觀不是矩形才需要用之前連結的方式來做 發表人 -
HomeSound
中階會員


發表:44
回覆:178
積分:94
註冊:2002-08-31

發送簡訊給我
#9 引用回覆 回覆 發表時間:2004-03-17 16:36:43 IP:61.30.xxx.xxx 未訂閱
可請教taishyang版主大人嗎? >>2.將Form的TransparentColor設定為true >>3.選擇TransparentColorValue, 您的case為clWhite 有沒有上兩點的程式碼或方式,小弟真的不會,先感謝了. --==多看.多學.多聽==--
------
--==多看.多學.多聽==--
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#10 引用回覆 回覆 發表時間:2004-03-17 16:46:35 IP:140.135.xxx.xxx 未訂閱
HomeSound您好:
引言: 可請教taishyang版主大人嗎? >>2.將Form的TransparentColor設定為true >>3.選擇TransparentColorValue, 您的case為clWhite 有沒有上兩點的程式碼或方式,小弟真的不會,先感謝了.
您言重了,我是小弟 小弟我剛剛檢查了一下, 這是 src="http://delphi.ktop.com.tw/loadfile.php?TOPICID=14602089&CC=326571"> 順心 <>~我也是在學習的階段,回答的不好請您多多見諒與指教~
HomeSound
中階會員


發表:44
回覆:178
積分:94
註冊:2002-08-31

發送簡訊給我
#11 引用回覆 回覆 發表時間:2004-03-17 17:04:31 IP:61.30.xxx.xxx 未訂閱
該換BCB6.0版了,傻傻的找了一個多小時,感謝taishyang告知.
------
--==多看.多學.多聽==--
系統時間:2024-11-22 21:51:09
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!