德尔福.反转光标颜色

德尔福.反转光标颜色,第1张

概述我想为我的应用程序使用大型倒十字光标. 但我的代码使光标背景倒置.光标仍然是白色的. var IconInfo: TIconInfo; AndMask, Bmp: TBitmap; w, h: Integer;begin w := Screen.Width * 2; h := Screen.Height * 2; // Creation And Mask AndMa 我想为我的应用程序使用大型倒十字光标.
但我的代码使光标背景倒置.光标仍然是白色的.

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;
总结

以上是内存溢出为你收集整理的德尔福.反转光标颜色全部内容,希望文章能够帮你解决德尔福.反转光标颜色所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1237505.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存