Форум: "Основная";
Текущий архив: 2004.04.25;
Скачать: [xml.tar.bz2];
ВнизНестандартные курсоры Найти похожие ветки
← →
Aramis (2004-04-11 07:43) [0]Здравствуйте мастера, можно ли по вашему загрузить курсор из любого Bitmap. Пробовал LoadImage но .bmp не удалось загрузить.
вот мой код:
screen.Cursors[1]:=loadimage(Hinstance,
"bit.bmp",
image_bitmap,
0,
0,
LR_DEFAULTSIZE);
form1.Cursor:=1;
Благодарю заранее..
← →
Mim1 (2004-04-11 08:59) [1]Курсор должен быть cur или ani формата. Как например узнать какая точка курсора управляющая?
← →
Cobalt © (2004-04-11 10:11) [2]а зачем узнавать? Если ВЫ нарисовали курсор, то ВЫ знаете, а вообще-то по умолчанию верхняя левая.
← →
Aramis (2004-04-11 10:50) [3]to mim1
ICO формат тоже подходит - пробовал
← →
Aramis (2004-04-11 10:53) [4]В Image Editor-е имеется set hot spot
← →
ppcat (2004-04-11 11:35) [5]Набольшой пример (где взял, не помню):
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Timer1: TTimer;
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
n: word;
procedure cr(txt: string);
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.cr(txt: string);
var
bmp, bmb: TBitmap;
x, y: integer;
s: string;
ii:iconinfo;
icon:hicon;
ic: hicon;
begin
x:= 3;
y:= 10;
s:= txt;
bmp:= TBitmap.Create;
bmb:= TBitmap.Create;
//bmp.PixelFormat:= pf4bit;
//bmb.PixelFormat:= pf4bit;
try
bmb.Width:= 64;
bmb.Height:= 32;
bmb.Canvas.brush.Color:= clBtnShadow;
bmb.Canvas.FillRect(rect(0, 0, 64, 32));
bmb.Transparent:= true;
bmp.Width:= 64;
bmp.Height:= 32;
bmb.Canvas.brush.Color:= clBtnShadow;
bmb.Canvas.FillRect(rect(0, 0, 64, 32));
bmp.Transparent:= true;
//bmb.Canvas.Font.Style:= [fsBold];
bmb.Canvas.Font.Color:= clBlack;
bmb.Canvas.TextOut(x, y, s);
//bmp.Canvas.Font.Style:= [fsBold];
bmp.Canvas.Font.Color:= clBtnShadow;
bmp.Canvas.TextOut(x + 2, y + 4, s);
bmp.Canvas.Draw(0, 0, bmb);
//Canvas.Draw(10, 10, bmp);
ii.fIcon:=false;
ii.hbmColor:=bmb.Handle;
ii.hbmMask:=bmp.handle;
ii.xHotspot:=0;
ii.yHotspot:=0;
icon:=createiconindirect(ii);
ic:=copyicon(icon);
screen.Cursors[1]:= ic;
screen.Cursor:= crNone;
screen.Cursor:= 1;
finally
destroyicon(icon);
bmp.free;
bmb.free;
end;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
cr(TimeToStr(Time));
end;
end.
← →
Aramis (2004-04-11 20:43) [6]таак этот пример не работает, попробую узнать почему?
← →
IceDog (2004-04-12 03:08) [7]Интересно, а можно ли сделать курсор как в AutoCad? У меня не получилось.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.04.25;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.048 c