改变鼠标指针
翻译:今天能看见山
有很多VCL控件都有Cursor属性以使你能够改变鼠标在这个控件的区域内的指针形态。当你只需要改变一个控件的鼠标指针时,这样做很好。但是当你需要改变这个屏幕的鼠标指针时这样做就有些不足了。例如,虽然你改变了一个窗体的Cursor属性,但是当鼠标移动到这个窗体的其他控件上的时候,鼠标指针将会改变回去。改变整个屏幕的指针形状,应该使用全屏幕的Cursor属性。
下面的清单列举了屏幕指针的所有可能值。
crDefault crNone crArrow crCross crIBeam crSize crSizeNESW crSizeNS crSizeNWSE crSizeWE crUpArrow crHourGlass crDrag crNoDrop crHSplit crVSplit crMultiDrag crSQLWait crNo crAppStart crHelp下面的步骤描述了如何建立一个用户自定义的书边指针,而不是系统可提供的指针。
第一步:使用图片编辑器创建一个包含你自己定义的鼠标指针图形的资源文件。然后把这个资源文件加入进工程。
第二步:有效的屏幕指针,首先包括系统定义的指针形状(Tscreen类的Cursors数组属性的所有值)。在你使用你自己定义的指针前,你必须先装载它并且将它加入到这个Cursors数组中去。定义一个能表示你这个指针的常量和一个数组的索引值。然后用定义的索引值去装载这个指针。
例如:
const TCursor crMyCustomCursor=1; // 自定义指针的ID号
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
// 将自定义指针装载进Cursors数组
// "CURSOR1" 是用图象编辑器设置的标识字符
Screen->Cursors[crMyCustomCursor]=LoadCursor((void*) HInstance,"CURSOR1");
}
第三步: 在任何你想转换鼠标指针的时候将新的Cursor值赋给Screen->Cursor属性.
例如:Screen->Cursor = crMyCustomCursor;
本文地址:http://com.8s8s.com/it/it29533.htm