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

如何取得StringGrid的子元件名稱

尚未結案
bzh889
一般會員


發表:4
回覆:5
積分:1
註冊:2007-03-22

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-05-28 12:43:15 IP:60.248.xxx.xxx 訂閱
我想要攔截使用者編輯StringGrid的cell時的copy, paste訊息
可是不知到編輯時出現的那個edit元件叫什麼名字....

我試著用
for (int i = 0; i < StringGrid1->ComponentCount; i)
ShowMessage(StringGrid1->Components[i]->ClassName());

似乎無效....
不知道各位前輩有什麼好方法
taishyang
站務副站長


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-05-28 12:46:40 IP:122.124.xxx.xxx 未訂閱
StringGrid沒有子元件吧(用SPY 看的)?
編輯記錄
taishyang 重新編輯於 2007-05-28 12:47:03, 註解 無‧
bzh889
一般會員


發表:4
回覆:5
積分:1
註冊:2007-03-22

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-05-28 13:21:17 IP:140.113.xxx.xxx 訂閱
那要怎麼攔截編輯cell時的剪下貼上message呢?

===================引 用 taishyang 文 章===================
StringGrid沒有子元件吧(用SPY 看的)?
taishyang
站務副站長


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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-05-28 13:54:52 IP:122.124.xxx.xxx 未訂閱
請多利用[搜尋]關鍵字為[剪貼簿]
Ex
http://delphi.ktop.com.tw/board.php?cid=169&fid=1220&tid=32065
bzh889
一般會員


發表:4
回覆:5
積分:1
註冊:2007-03-22

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-05-28 14:48:11 IP:140.113.xxx.xxx 訂閱
多謝大大

不過我是想要知道WM_PASTE, WM_COPY 何時送到 編輯cell上面...
以及那個control的名稱是什麼
因為我直接送到StringGrid似乎行不通
爬文結果那個control元件應該叫TInplaceEdit
只是還沒爬到怎麼把送給他的message截掉.....


===================引 用 taishyang 文 章===================
請多利用[搜尋]關鍵字為[剪貼簿]
Ex
http://delphi.ktop.com.tw/board.php?cid=169&fid=1220&tid=32065
taishyang
站務副站長


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

發送簡訊給我
#6 引用回覆 回覆 發表時間:2007-05-28 16:07:49 IP:122.124.xxx.xxx 未訂閱
抱歉,小弟翻了一下舊文章
若你的StringGrid的Cell是呈現可以被edit的情況下是有子元件(TInplaceEdit)的

若想知道此時剪貼簿的內容是啥是用下面的code得知
<textarea class="cpp" rows="10" cols="60" name="code"> void __fastcall TForm1::StringGrid1SelectCell(TObject *Sender, int ACol, int ARow, bool &CanSelect) { if (Clipboard()->HasFormat(CF_TEXT)) { ShowMessage(Clipboard()->AsText); } } </textarea>



===================引 用 taishyang 文 章===================
StringGrid沒有子元件吧(用SPY 看的)?
編輯記錄
taishyang 重新編輯於 2007-05-28 16:19:11, 註解 無‧
bzh889
一般會員


發表:4
回覆:5
積分:1
註冊:2007-03-22

發送簡訊給我
#7 引用回覆 回覆 發表時間:2007-05-29 10:38:04 IP:140.113.xxx.xxx 訂閱
謝謝t大的回覆
不過t大可能誤會了
小弟真正要做的是攔截使用者傳入PASTE跟COPY的message
倒不是去想抓剪貼簿的文字...

不知道各位大大有何好想法呢?

===================引 用 taishyang 文 章===================
抱歉,小弟翻了一下舊文章
若你的StringGrid的Cell是呈現可以被edit的情況下是有子元件(TInplaceEdit)的

若想知道此時剪貼簿的內容是啥是用下面的code得知
<textarea name="code" cols="60" rows="10" class="cpp">void __fastcall TForm1::StringGrid1SelectCell(TObject *Sender, int ACol, int ARow, bool &CanSelect) { if (Clipboard()->HasFormat(CF_TEXT)) { ShowMessage(Clipboard()->AsText); } } </textarea>



===================引 用 taishyang 文 章===================
StringGrid沒有子元件吧(用SPY 看的)?
系統時間:2024-05-06 8:18:19
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!