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

請問自動清除文字的方法

答題得分者是:小傑克
raiseofevil
一般會員


發表:13
回覆:1
積分:2
註冊:2006-12-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-10-14 17:01:39 IP:61.56.xxx.xxx 訂閱
delphi有沒有哪個功能像ASP.Net 中的TextBoxWatermark 功能一樣,在第一次點擊文字方塊(Editor) 時,可將預設的文字清除?

就像誠品書店的搜尋框一樣http://www.eslite.com/,當滑鼠點擊到搜尋框時,就清除預設文字,請知道的人回答一下,感恩。

====================================

感謝各位的協助,因為我的作業中要用到這樣的功能很多次,所以以物件的方式最適合,因此將分數給小傑克~非常感謝各位
編輯記錄
raiseofevil 重新編輯於 2009-10-15 13:31:53, 註解 無‧
raiseofevil 重新編輯於 2009-10-15 13:32:09, 註解 無‧
raiseofevil 重新編輯於 2009-10-15 13:32:55, 註解 無‧
raiseofevil 重新編輯於 2009-10-15 13:32:57, 註解 無‧
小傑克
資深會員


發表:5
回覆:209
積分:357
註冊:2009-02-16

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-10-14 20:14:44 IP:61.217.xxx.xxx 訂閱
現成的不清楚...但是可以試試拿Edit 去改一下, 類似底下這樣的作法

TWatermarkEdit=class(TCustomEdit)
private
FirstTimeEnter:boolean;
procedure CMEnter(var Message: TCMGotFocus);message CM_ENTER;
public
constructor Create(AOwner: TComponent); override;
end;

procedure TWatermarkEdit.CMEnter(var Message: TCMGotFocus);
begin
if FirstTimeEnter then
begin
Text := '';
FirstTimeEnter := false;
end;
end;
constructor TWatermarkEdit.Create(AOwner: TComponent);
begin
inherited;
FirstTimeEnter := True;
end;

===================引 用 raiseofevil 文 章===================
delphi有沒有哪個功能像ASP.Net 中的TextBoxWatermark 功能一樣,在第一次點擊文字方塊(Editor) 時,可將預設的文字清除?

就像誠品書店的搜尋框一樣http://www.eslite.com/,當滑鼠點擊到搜尋框時,就清除預設文字,請知道的人回答一下,感恩。
------
額有朝天骨,眼中有靈光
老大仔
尊榮會員


發表:78
回覆:837
積分:1088
註冊:2006-07-06

發送簡訊給我
#3 引用回覆 回覆 發表時間:2009-10-15 07:58:16 IP:59.120.xxx.xxx 未訂閱
假如想要簡單一點的話
可以用以下做法...
1. 先設好Edit1.Text的值
2. 在Edit1的click中輸入以下程式:

[code delphi]
procedure TForm1.Edit1Click(Sender: TObject);
begin
Edit1.Clear;
end;

[/code]
st33chen
尊榮會員


發表:15
回覆:591
積分:1201
註冊:2005-09-30

發送簡訊給我
#4 引用回覆 回覆 發表時間:2009-10-15 08:57:20 IP:114.32.xxx.xxx 未訂閱

===================引 用 老大仔 文 章===================
假如想要簡單一點的話
可以用以下做法...
1. 先設好Edit1.Text的值
2. 在Edit1的click中輸入以下程式:

[code delphi]
procedure TForm1.Edit1Click(Sender: TObject);
begin
Edit1.Clear;
// 補充一下老大仔大大的解法
// 如果只有第一次 click 才清空, 那要加
edit1.o n c l i c k := nil;

end;

[/code]
------
IS IT WHAT IT IS
我是 李慕白 請倒著唸.
又想把老話拿出來說, 請用台語發音 : 專家專家全是ROBOT CAR (滷肉腳啦);
都已接手這麼久了, 績效還是那麼爛, 講話還那麼大聲.
編輯記錄
st33chen 重新編輯於 2009-10-15 08:58:19, 註解 無‧
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#5 引用回覆 回覆 發表時間:2009-10-15 13:24:14 IP:118.169.xxx.xxx 未訂閱
提供給你我的做法

假設 Edit1.Text:= '請點擊本處輸入搜尋內容' ==> 這是預設值

在 Edit1.onenter 的事件上寫
if Edit1.Text='請點擊本處輸入搜尋內容' then Edit1.Clear
這是最簡單的作法, 如果你還有考量其他因素, 可以再加強
用這樣的寫法是避免因為只下 Edit1.Clear 會清除我所寫入的文字

===================引 用 raiseofevil 文 章===================
delphi有沒有哪個功能像ASP.Net 中的TextBoxWatermark 功能一樣,在第一次點擊文字方塊(Editor) 時,可將預設的文字清除?

就像誠品書店的搜尋框一樣http://www.eslite.com/,當滑鼠點擊到搜尋框時,就清除預設文字,請知道的人回答一下,感恩。
系統時間:2024-05-16 11:42:06
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!