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

Вниз

Можно ли чёрно-белую bmp-картинку загрузить как курсор?   Найти похожие ветки 

 
Просто   (2005-08-11 05:23) [0]

В смысле она сама рисуется в TImage, а дальше мне надо, чтобы это изображение превратилось в курсор мыши. Как это можно сделать?


 
TUser ©   (2005-08-11 10:22) [1]

You can also create a custom cursor at run time by using the CreateIconIndirect function, which creates a cursor based on the content of an ICONINFO structure.


 
Просто   (2005-08-12 06:11) [2]


> TUser ©   (11.08.05 10:22) [1]
> You can also create a custom cursor at run time by using
> the CreateIconIndirect function, which creates a cursor
> based on the content of an ICONINFO structure.


А где она есть эта ICONINFO structure ?
Дайте же мне формат этого файла !
И потом, как подключить курсор, без сохранения его на диск ?


 
Просто   (2005-08-12 06:23) [3]

Почему у TIcon нет свойства CopyRect, и как без него выкручиваться ?

Мне надо, чтобы курсор был стрелочкой с циферкой. Я рисую это в TImage, но как мне дальше то его преобразовать в курсор и подключить ?

Есть здесь мастера, или нет ?


 
Наиль ©   (2005-08-12 08:49) [4]

О курсорах ни чего не знаю, но [2] достаточно чтобы дойти до этого:
Программа:
...
procedure TForm1.FormClick(Sender: TObject);
Var
IcIn:_IconInfo;
begin
With IcIn do Begin
 fIcon:=true;
 xHotspot:=0;
 yHotspot:=0;
 hbmMask:=Image2.Picture.Bitmap.Handle;
 hbmColor:=Image1.Picture.Bitmap.Handle;
End;
Screen.Cursors[1]:=CreateIconIndirect(IcIn);
Cursor:=1;
end;
...

Форма
object Form1: TForm1
 Left = 454
 Top = 238
 Width = 123
 Height = 82
 Caption = "Form6"
 Color = clBtnFace
 Font.Charset = DEFAULT_CHARSET
 Font.Color = clWindowText
 Font.Height = -11
 Font.Name = "MS Sans Serif"
 Font.Style = []
 OldCreateOrder = False
 OnClick = FormClick
 PixelsPerInch = 96
 TextHeight = 13
 object Image1: TImage
   Left = 8
   Top = 8
   Width = 32
   Height = 32
   Center = True
   Picture.Data = {
     07544269746D617076020000424D760200000000000076000000280000002000
     0000200000000100040000000000000200000000000000000000100000000000
     000000000000000080000080000000808000800000008000800080800000C0C0
     C000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFF
     FF00000000000000000000000000000000000000000000000000000000000000
     0000000000000000000000000000000000000000000000000000000000000000
     0000000000000000000000000000000000000000000000000000000000000000
     00000664444444444444444444444444444006E6666666666666666666666666
     664006F6600060006000600060000000664006E66F706F706F706F706F777770
     664006F66FF06FF06FF06FF06FFFFFF0664006E6666666666666666666666666
     664006F6600060006000600060006000664006E66F706F706F706F706F706F70
     664006F66FF06FF06FF06FF06FF06FF0664006E6666666666666666666666666
     664006F6600060006000600060006000664006E66F706F706F706F706F706F70
     664006F66FF06FF06FF06FF06FF06FF0664006E6666666666666666666666666
     664006F6607777777777777766666666664006E660FFFFFFFFFFFFF766666666
     664006F6607777777777777766666666664006E6600000000000000066666666
     664006FEFEFEFEFEFEFEFEFEFEFEFEFEFE400066666666666666666666666666
     6660000000000000000000000000000000000000000000000000000000000000
     0000000000000000000000000000000000000000000000000000000000000000
     0000000000000000000000000000000000000000000000000000000000000000
     0000}
 end
 object Image2: TImage
   Left = 48
   Top = 8
   Width = 32
   Height = 32
   Picture.Data = {
     07544269746D6170BE000000424DBE000000000000003E000000280000002000
     0000200000000100010000000000800000000000000000000000020000000000
     000000000000FFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC000
     0001800000008000000080000000800000008000000080000000800000008000
     0000800000008000000080000000800000008000000080000000800000008000
     0000800000008000000080000000C0000001FFFFFFFFFFFFFFFFFFFFFFFFFFFF
     FFFFFFFFFFFFFFFFFFFF}
 end
end

Надеюсь ты знаешь, что с этим делать.


 
TUser ©   (2005-08-12 08:53) [5]

Если не ошибаюсь, - fIcon надо делать false, т.к. мы создаем курсор, а не просто иконку.


 
Просто   (2005-08-13 01:18) [6]


> Наиль ©   (12.08.05 08:49) [4]

Большое спасибо, вы мне очень помогли !


> TUser ©   (12.08.05 08:53) [5]
> Если не ошибаюсь, - fIcon надо делать false, т.к. мы создаем
> курсор, а не просто иконку.

Да. А иначе хотспот не работает.


 
Наиль ©   (2005-08-13 07:37) [7]

К сожалению WinApi это, то что могу знать, но знать не хочу, т.к. это отрицательно сказывается на скорости работы, так что спасибо [5].Теперь знаю, что написал. А то писал-то наугад.


 
Просто   (2005-08-14 01:40) [8]

У меня ещё один вопрос.
Почему то, когда переключаю курсор с одного своего, на другой свой, появляется вместо него стандартная стрелка. И лишь когда подвину мышь, то курсор становится какой надо. Можно как нибудь этой "фичи" избежать ?



Страницы: 1 вся ветка

Текущий архив: 2005.09.04;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.038 c
4-1121693206
Gost
2005-07-18 17:26
2005.09.04
Запуск ярлыка


3-1122349921
Дырчик
2005-07-26 07:52
2005.09.04
Ошибка в АДО


2-1123225742
chili
2005-08-05 11:09
2005.09.04
как убрать avto-create form оставить только для main form


4-1121604685
FRick
2005-07-17 16:51
2005.09.04
GUID видеокарты


6-1116528072
NikNet
2005-05-19 22:41
2005.09.04
У кого есть пример FTP клиент/сервер на WinSock?