全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1651
推到 Plurk!
推到 Facebook!

Timage 用法小小分享

 
SamSam1230
中階會員


發表:128
回覆:178
積分:65
註冊:2004-12-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-07-25 12:23:06 IP:218.103.xxx.xxx 未訂閱
小弟常常在此得到幫助 最近因為要寫一些程式所以對以下有一些發現, 只是一些少少的發現 因為我還是一個剛學沒多久的    我最近寫的是用Timage load 了一張地圖, 然後要在地圖上作一些 interaction , 就是 mouse double click 某一點的時候要作出相對的動作 我當初的因難是, 我拿screen mouse 的 x ,y 跟timage 裡的 x,y 會因client screen 的 resolution ,大小,位置都會改變,那是一件很煩惱的事情, 因為相對的動作是以timage 的 x y 來存下來的,所以會跟screen , mouse 的x,y 會有一個 offset , 如果要自己算出來那個screen 跟Timage 的 ratio 再找出 x ,y 是會很麻煩, 當form move 的時候又會要處理位置改變了的問題,但後來發現一個timage 裡已經承繼win32 的一個很好用的 function -- screentoclient, 只是一兩行的程式碼就解決了剛剛所有做的事情    用法如下    它會幫你將你現在的 mouse x,y 轉成 相對 timage 的 x,y , 然後再用這個值去跟自己存下的x,y值去比對,就可以了     
     var Temppos,CurrentPos : Tpoint;    begin
    Temppos := mouse.cursorPos;// 要在event trigger (double click )的時候馬上把mouse 的 x,y  存起來,因為mouse 的 x,y 會一直在變當你在mouse move 的時候
    CurrentPos := Timage.ScreentoClient(Temppos);
//...
....
這裡就可以加自己的比對, 相對動作的程式碼    //
end;    
只是小小的分享... 請勿見怪 發表人 - SamSam1230 於 2005/07/25 12:24:05
系統時間:2024-05-03 11:47:44
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!