看着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=0thenExit;
CreateCaret(Handle,H,8,10);
ShowCaret(Handle);
end;
end;
在你的窗口中创建这个控件,看看效果如何,你只需修改LoadBitmap的参数即可得到你想要的光标,试试吧。
分享到:
相关推荐
自己学习的时候写的,呵呵,可以编辑单元格。改变颜色等等
edit或者combobox控件输入时有时需要限制特定的输入,示例给出了两种方式,一种是键消息控制,一种是变量改变后控制。光标控制。
TMemo内光标位置根据鼠标移动 TMemo自动卷动 TRichEdit卷到特定位置 TRxRichEdit内插入图像 TStringGrid中插入、删除一行 TStringGrid保存和装载 TTreeview控件显示粗体节点 TWebBrowser中调用“查找”对话框 为...
Win32应用程序可以使用插入标记函数来创建一个插入标记,改变它的闪动频率,显示、隐藏插入标记,或重新设置插入标记的位置。 组合框函数(Combo Box) 组合框是由COMBOBOX类定义的一种控制,综合了列表框和编辑...
问:如何改变默认的光标形状? 82 问:如何用键盘滚动分割的视口? 83 问:如何在线程中处理状态条? 83 问:如何阻止WINDOWS关闭? 83 问:如何使一个按钮Disable? 83 问:怎样从MFC扩展动态链结库(DLL)中显示一个对话框...
问:如何改变默认的光标形状? 82 问:如何用键盘滚动分割的视口? 83 问:如何在线程中处理状态条? 83 问:如何阻止WINDOWS关闭? 83 问:如何使一个按钮Disable? 83 问:怎样从MFC扩展动态链结库(DLL)中显示一个对话框...
WinUI的Edit控件文字显示主要依靠CWUIEdit类来实现 她支持以下特性: 1 此文字层支持透明度设置 2 支持文字的颜色任意设置 3 支持Freetype书写 4 支持键盘输入 5 光标的移动 此示例源码主要为了解决字符串超出...
62、如何使用一个预定义的Windows光标 22 63、如何确定当前屏幕分辨率 22 64、如何检索原先的Task Manager应用程序使用的任务列表 22 65、如何确定Windows和Windows系统目录 23 66、在哪儿创建临文件 23 67、如何...
(38)如何改变默认的光标形状? 120 (39)如何用键盘滚动分割的视口? 121 (40)如何在线程中处理状态条? 123 (41)如何阻止WINDOWS关闭? 124 (42)如何使一个按钮Disable? 124 (43)怎样从MFC扩展动态链结库(DLL)中显示一个...
6.6.4 改变鼠标光标 325 6.7 Visual C++ 2010 HtmlEditView开发 328 6.8 Visual C++ 2010 HtmlView开发 331 6.9 Visual C++ 2010 ListView开发 335 6.10 Visual C++ 2010 RichEditView开发 335 6.11 ...
6.43 实例140:显示RichEdit控件 第7章 GDI 7.1 实例141:通过HDC获取CDC指针 7.2 实例142:创建屏幕DC 7.3 实例143:选择预定义的GDI对象 7.4 实例144:获取文本的长度和高度 7.5 实例145:在长文本末端显示省略号...
6.6.4 改变鼠标光标 325 6.7 Visual C++ 2010 HtmlEditView开发 328 6.8 Visual C++ 2010 HtmlView开发 331 6.9 Visual C++ 2010 ListView开发 335 6.10 Visual C++ 2010 RichEditView开发 335 6.11 ...
例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。 消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息。例如,对于单击鼠标所产生的消息来...
60.如何在RichEdit中实现查找和定位字符 61.如何在RichEdit中混合显示图片和文本 62.如何使List列表控件支持整行选择 63.如何使用List列表控件填充表格数据 64.如何使用数据库记录填充List列表控件 65.如何创建...
Nerd tree可以让你浏览文件系统并打开文件或目录。你可以通过键盘或鼠标控制它以树状图显示...*默认情况下,该脚本覆盖vim的默认文件浏览器(netrw),所以如果直接输入:edit命令也会用nerd树打开 标签:nerdtree
spacebar——绘制导线,直线或总线时,改变走线模式 v+d——缩放视图,以显示整张电路图 v+f——缩放视图,以显示所有电路部件 home——以光标位置为中心,刷新屏幕 esc——终止当前正在进行的操作,返回待命状态 ...
6.6.4 改变鼠标光标 325 6.7 Visual C++ 2010 HtmlEditView开发 328 6.8 Visual C++ 2010 HtmlView开发 331 6.9 Visual C++ 2010 ListView开发 335 6.10 Visual C++ 2010 RichEditView开发 335 6.11 VisualC++ 2010 ...
15、自定义设定光标进入单元格是否编辑模式(编辑模式) Specify the Edit Mode for the Windows Forms DataGridView Control this.dataGridView1.EditMode = DataGridViewEditMode.EditOnEnter; 16、新行指定...