改變Edit的游標

2021-08-22 04:09:52 字數 1185 閱讀 5139

看著edit的游標,是不是覺得了無生趣,想不想換個形狀來玩玩,其實很簡單,且聽我道來。

edit是windows的標準控制項,它是乙個系統範圍視窗類,所以任何應用程式都能建立它。其實edit本質上也是乙個視窗,ms實現了它卻不開放源**,只暴露出一些介面給我們操作。edit的游標(caret)沒有意外,就是通過createcaret,showcaret等api顯示出來的。edit似乎是在得到焦點時建立並顯示caret,在失去焦點時消毀caret,此處我們只需在setfocus訊息中建立caret即可,看如下**:

type

twdedit=

class(tedit)

protected

procedureeditsetfocus(

varmessage:tmessage);messagewm_setfocus;

end;

proceduretwdedit.editsetfocus(

varmessage:tmessage);

var

h:hbitmap;

begin

inherited;

ifdestroycaretthen

begin

h:=loadbitmap(

0,makeintresource(obm_rgarrow));

ifh=

0then

exit;

createcaret(handle,h,8,

10);

showcaret(handle);

end;

end;

在你的視窗中建立這個控制項,看看效果如何,你只需修改

loadbitmap

的引數即可得到你想要的游標,試試吧。

改變唯讀Edit背靜顏色

介紹你是否為你的edit控制項設定成為唯讀屬性那個灰色的背景色不合你的程式整體布局而煩惱了,其實實現這個方法不難,下面就是這個的實現方法,可以任意拷貝和使用 正文edit控制項設定唯讀屬性後就不允許使用者進行輸入和編輯刪除等基本操作了,控制項只可以用來資訊的瀏覽,但是,如果使用預設的設定函式的話,e...

改變游標位置

5改變游標位置需要標頭檔案windows.h void gotoxy handle hout,int x,int y void main std input handle,標準輸入的控制代碼 std output handle,標準輸出的控制代碼 std error handle,標準錯誤的控制代碼...

iOS中改變uiTextField的游標起始位置

uitextfield作為輸入框,在很多場景都會使用,一般我們都是對齊預設的布局做一些更改,常用的可能會修改游標的顏色,placeholder的顏色,字型等等,有些修改直接設定uitextfield的屬性就可以,有些則沒有,需要重寫它提供的一些方法才可以,有些則怎麼都辦不到,例如修改游標的寬度,如果...