Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.25;
Скачать: CL | DM;

Вниз

Нестандартные курсоры   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.026 c
3-1080222827
Wolferio
2004-03-25 16:53
2004.04.25
Базы данных


14-1081083425
mfender
2004-04-04 16:57
2004.04.25
TaskManager


14-1080684596
ИМХО
2004-03-31 02:09
2004.04.25
На самом деле, двоичное исчисление придумал АС Пушкин


14-1080735417
Rule
2004-03-31 16:16
2004.04.25
А ещё вопрос, посоветуйте компоненті по украшению внешнего вида


3-1080790223
Badboy
2004-04-01 07:30
2004.04.25
Заполнение