請問用滑鼠點選擷取螢幕上的一塊區域的問題 |
尚未結案
|
qubeley2004
一般會員 ![]() ![]() 發表:52 回覆:71 積分:24 註冊:2004-07-13 發送簡訊給我 |
|
RedSnow
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
參考一下這一個由 RaynorPao 版主發表的範例:
利用滑鼠截取 Image 的部分區域
http://delphi.ktop.com.tw/topic.php?topic_id=34115
|
qubeley2004
一般會員 ![]() ![]() 發表:52 回覆:71 積分:24 註冊:2004-07-13 發送簡訊給我 |
引言: 參考一下這一個由 RaynorPao 版主發表的範例: 利用滑鼠截取 Image 的部分區域 http://delphi.ktop.com.tw/topic.php?topic_id=34115謝謝你, 可是現在問題是說..當我要取的東西不是在自己設計的Form的裡面 而是在Form的外面,所以不曉得要如何利用事件去觸發以及紀錄Form外 所按下滑鼠的位置. |
RedSnow
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
您可以新增一個 Form,並在它的建構函式中做下列設定:
BorderStyle = bsNone; Brush->Style = bsClear; SetBounds(0, 0, Screen->Width, Screen->Height);這樣會使得這個 Form 在 Show 出來時,變成 "透明" 的狀態,並且 "罩" 在所有視窗上方,您可以在您的 MainForm 中叫出這個 Form,然後將這個 "透明罩" 當作一張畫布,並透過它的 OnMouseDown....等事件來做擷取畫面的處理。 |
cashyy
高階會員 ![]() ![]() ![]() ![]() 發表:117 回覆:322 積分:212 註冊:2004-04-30 發送簡訊給我 |
|
qubeley2004
一般會員 ![]() ![]() 發表:52 回覆:71 積分:24 註冊:2004-07-13 發送簡訊給我 |
|
RedSnow
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
參考一下我回覆其他人的作法,該方法是將一個圈選的區域,以反白方式標示出來,若不想用反白的效果,可以設成 "透空" 的方式來處理: http://delphi.ktop.com.tw/topic.php?TOPIC_ID=64757
|
qubeley2004
一般會員 ![]() ![]() 發表:52 回覆:71 積分:24 註冊:2004-07-13 發送簡訊給我 |
引言: 參考一下我回覆其他人的作法,該方法是將一個圈選的區域,以反白方式標示出來,若不想用反白的效果,可以設成 "透空" 的方式來處理: http://delphi.ktop.com.tw/topic.php?TOPIC_ID=64757嗯..我用了bsClear的結果變成還是看不到那個最外圍的框框, 不過可以用改變滑鼠的型態表示,至少和原本有點差別XD |
RedSnow
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
您可能未設定畫筆顏色,同時畫筆模式可能也要改一下比較好,試試看改成如下之設定:
// 設畫筆為 xor 模式 Image1->Picture->Bitmap->Canvas->Pen->Mode = pmNotXor; // 設畫筆的繪製模式為 NotXor Image1->Picture->Bitmap->Canvas->Pen->Color = clRed; // 設畫筆的筆刷圖樣為透空的 Image1->Picture->Bitmap->Canvas->Brush->Style = bsClear; |
qubeley2004
一般會員 ![]() ![]() 發表:52 回覆:71 積分:24 註冊:2004-07-13 發送簡訊給我 |
引言: 您可能未設定畫筆顏色,同時畫筆模式可能也要改一下比較好,試試看改成如下之設定:嗯~! 果然是我忘記設定了,已經弄好了,謝謝// 設畫筆為 xor 模式 Image1->Picture->Bitmap->Canvas->Pen->Mode = pmNotXor; // 設畫筆的繪製模式為 NotXor Image1->Picture->Bitmap->Canvas->Pen->Color = clRed; // 設畫筆的筆刷圖樣為透空的 Image1->Picture->Bitmap->Canvas->Brush->Style = bsClear; |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |