德尔福.反转光标颜色
发布时间:2020-12-15 09:14:52 所属栏目:大数据 来源:网络整理
导读:我想为我的应用程序使用大型倒十字光标. 但我的代码使光标背景倒置.光标仍然是白色的. var IconInfo: TIconInfo; AndMask,Bmp: TBitmap; w,h: Integer;begin w := Screen.Width * 2; h := Screen.Height * 2; // Creation And Mask AndMask := TBitmap.Creat
|
我想为我的应用程序使用大型倒十字光标.
但我的代码使光标背景倒置.光标仍然是白色的. var
IconInfo: TIconInfo;
AndMask,Bmp: TBitmap;
w,h: Integer;
begin
w := Screen.Width * 2;
h := Screen.Height * 2;
// Creation And Mask
AndMask := TBitmap.Create;
AndMask.Monochrome := True;
AndMask.Height := h;
AndMask.Width := w;
// Draw on And Mask
AndMask.Canvas.Brush.Color := clWhite;
AndMask.Canvas.FillRect(AndMask.Canvas.ClipRect);
// AndMask.Canvas.Pen.Color := clWhite;
AndMask.Canvas.Pen.Width := 3;
AndMask.Canvas.MoveTo(w div 2,0);
AndMask.Canvas.LineTo(w div 2,h);
AndMask.Canvas.MoveTo(0,h div 2);
AndMask.Canvas.LineTo(w,h div 2);
{Create the "XOr" mask}
Bmp := TBitmap.Create;
Bmp.Width := w;
Bmp.Height := h;
{Draw on the "XOr" mask}
Bmp.Canvas.Brush.Color := clWhite;
Bmp.Canvas.FillRect(Rect(0,w,h));
IconInfo.fIcon := true;
IconInfo.xHotspot := w div 2;
IconInfo.yHotspot := h div 2;
IconInfo.hbmMask := AndMask.Handle;
IconInfo.hbmColor := Bmp.Handle;
Screen.Cursors[1]:= CreateIconIndirect(IconInfo);
Screen.Cursor:=1;
end;
如何使背景透明和光标倒置? 解决方法procedure TForm1.Button1Click(Sender: TObject);
var
IconInfo: TIconInfo;
AndMask,h: Integer;
begin
w := Screen.Width * 2;
h := Screen.Height * 2;
// Creation And Mask
AndMask := TBitmap.Create;
// AndMask.Monochrome := True;
AndMask.Height := h;
AndMask.Width := w;
// Draw on And Mask
AndMask.Canvas.Brush.Color := clWhite;
AndMask.Canvas.FillRect(AndMask.Canvas.ClipRect);
AndMask.Canvas.Pen.Color := clwhite;
AndMask.Canvas.Pen.Width := 3;
AndMask.Canvas.MoveTo(w div 2,h div 2);
{Create the "XOr" mask}
Bmp := TBitmap.Create;
Bmp.Width := w;
Bmp.Height := h;
{Draw on the "XOr" mask}
Bmp.Canvas.Brush.Color := clblack;
Bmp.Canvas.FillRect(Rect(0,h));
Bmp.Canvas.Pen.Color := clwhite;
Bmp.Canvas.Pen.Width := 3;
Bmp.Canvas.MoveTo(w div 2,0);
Bmp.Canvas.LineTo(w div 2,h);
Bmp.Canvas.MoveTo(0,h div 2);
Bmp.Canvas.LineTo(w,h div 2);
IconInfo.fIcon := true;
IconInfo.xHotspot := w div 2;
IconInfo.yHotspot := h div 2;
IconInfo.hbmMask := AndMask.Handle;
IconInfo.hbmColor := Bmp.Handle;
Screen.Cursors[1]:= CreateIconIndirect(IconInfo);
Screen.Cursor:=1;
end;
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
