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

如何在滑鼠指到的位置旁邊顯示資訊

尚未結案
TiMac
一般會員


發表:4
回覆:2
積分:1
註冊:2005-03-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-09-16 23:20:52 IP:220.130.xxx.xxx 未訂閱
現在利用BCB將某圖檔顯示成全螢幕,知道X.Y的位置,也知道每個像素值,但不想要顯示在EDIT等元件,想如下圖一樣的顯示,即滑鼠移到某個位置後,(x,y)和pixel value就會馬上顯示出來在滑鼠旁邊,BCB有如此的程式嗎?能否教一下小弟....感激....     發表人 - TiMac 於 2005/09/16 23:32:34 發表人 - TiMac 於 2005/09/16 23:34:15 發表人 - TiMac 於 2005/09/16 23:40:56
RedSnow
版主


發表:79
回覆:1322
積分:845
註冊:2003-12-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-09-16 23:58:52 IP:61.230.xxx.xxx 未訂閱
TiMac 您好:    直接使用 Hint 屬性就可以達到您要求的動作了,但是如果要隨時都能更新 Hint 的內容的話,就需要做些小小的處理才行,以下範例供您參考:
// 於 .h 檔案內:
private:
    void __fastcall DisplayHint(System::AnsiString &HintStr, bool &CanShow, THintInfo &HintInfo);    // 於 .cpp 檔案內:
void __fastcall TForm1::FormCreate(TObject *Sender)
{
    Application->OnShowHint = DisplayHint;
}    void __fastcall TForm1::Image1MouseMove(TObject *Sender, TShiftState Shift, int X, int Y)
{
    Image1->Hint = "X=" IntToStr(X) ", Y=" IntToStr(Y);  // 設定要顯示的 Hint 字樣
}    void __fastcall TForm1::DisplayHint(System::AnsiString &HintStr, bool &CanShow, THintInfo &HintInfo)
{
    if(HintInfo.HintControl == Image1){
        CanShow = true;
        HintInfo.HintStr = HintStr;
        HintInfo.HintColor = clInfoBk;
        HintInfo.ReshowTimeout = 50; // 這裡設定更新顯示的延遲時間 (微秒數)
        HintInfo.HideTimeout = 2000;  // 停留指定時間後隱藏 Hint
    }
}
上述範例僅顯示出滑鼠座標值,若想顯示其它資訊,請自行添加之,HintInfo 各個屬性的涵義與用途請參考 BCB Help 的說明,並試著將參數值調整為您所需要的效果。 7 天天敲鍵盤 v 時時按滑鼠 8
TiMac
一般會員


發表:4
回覆:2
積分:1
註冊:2005-03-16

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-09-17 23:58:19 IP:218.164.xxx.xxx 未訂閱
我瞭解了,也可以應用在自己的程式裡面了,謝謝RedSnow的解答,感激...
系統時間:2024-05-04 3:36:46
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!