Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.09.04;
Скачать: [xml.tar.bz2];

Вниз

Можно ли чёрно-белую 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.01 c
3-1122437967
Qartzer
2005-07-27 08:19
2005.09.04
большая база


3-1122033678
ghj
2005-07-22 16:01
2005.09.04
Порядок следования записей


14-1123830712
Hawk2
2005-08-12 11:11
2005.09.04
ATI RADEON 9550


11-1106414565
Slay
2005-01-22 20:22
2005.09.04
Thread


14-1123569067
vopros
2005-08-09 10:31
2005.09.04
Где в Питере хорошие магазины по цифровой фототехнике?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский