Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.09.2008, 05:19   #1
SeregaIRK
Пользователь
 
Регистрация: 10.07.2008
Сообщений: 39
Восклицание CreateCursor

Привет всем !
Подскажите пожалуйста как работать с методом CreateCursor ?
Какаие значения вводятся в скобки ?
Если можно с примером ! Заранее спасибо !
SeregaIRK вне форума Ответить с цитированием
Старый 21.09.2008, 12:54   #2
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

А в справке примера не достаточно ?
Вот пример на Delphi. Курсор - квадрат с буквой А в центре
Код:
type
  TForm4 = class(TForm)
  protected
    procedure WMSetCursor(var Message:TMessage); message WM_SetCursor;
  end;
....
var H:HCursor;
procedure TForm4.FormCreate(Sender: TObject);
const A : array [1..32, 1..4] of byte =
           ( ($00,$00,$00,$00),
             ($7F,$FF,$FF,$FE),
             ($7F,$FF,$FF,$FE),
             ($7F,$FF,$FF,$FE),

             ($7F,$F0,$0F,$FE),
             ($7F,$F0,$0F,$FE),
             ($7F,$F0,$0F,$FE),
             ($7F,$F0,$0F,$FE),

             ($7F,$F0,$0F,$FE),
             ($7F,$F0,$0F,$FE),
             ($70,$00,$00,$0E),
             ($70,$00,$00,$0E),

             ($70,$0F,$F0,$0E),
             ($70,$0F,$F0,$0E),
             ($70,$0F,$F0,$0E),
             ($70,$0F,$F0,$0E),

             ($70,$0F,$F0,$0E),
             ($70,$0F,$F0,$0E),
             ($70,$0F,$F0,$0E),
             ($70,$0F,$F0,$0E),

             ($70,$00,$00,$0E),
             ($70,$00,$00,$0E),
             ($70,$00,$00,$0E),
             ($70,$00,$00,$0E),

             ($70,$0F,$F0,$0E),
             ($70,$0F,$F0,$0E),
             ($70,$0F,$F0,$0E),
             ($70,$0F,$F0,$0E),

             ($7F,$FF,$FF,$FE),
             ($7F,$FF,$FF,$FE),
             ($7F,$FF,$FF,$FE),
             ($00,$00,$00,$00)
           );
const X : array [1..32, 1..4] of byte =
           ( ($00,$00,$00,$00),
             ($00,$00,$00,$00),
             ($00,$00,$00,$00),
             ($00,$00,$00,$00),
             ($00,$00,$00,$00),
             ($00,$00,$00,$00),
             ($00,$00,$00,$00),
             ($00,$00,$00,$00),
             ($00,$00,$00,$00),
             ($00,$00,$00,$00),
             ($00,$00,$00,$00),
             ($00,$00,$00,$00),
             ($00,$00,$00,$00),
             ($00,$00,$00,$00),
             ($00,$00,$00,$00),
             ($00,$00,$00,$00),
             ($00,$00,$00,$00),
             ($00,$00,$00,$00),
             ($00,$00,$00,$00),
             ($00,$00,$00,$00),
             ($00,$00,$00,$00),
             ($00,$00,$00,$00),
             ($00,$00,$00,$00),
             ($00,$00,$00,$00),
             ($00,$00,$00,$00),
             ($00,$00,$00,$00),
             ($00,$00,$00,$00),
             ($00,$00,$00,$00),
             ($00,$00,$00,$00),
             ($00,$00,$00,$00),
             ($00,$00,$00,$00),
             ($00,$00,$00,$00)
           );

var size : TPoint;
begin
   size.x := GetSystemMetrics(SM_CXCURSOR); // 32
   size.y := GetSystemMetrics(SM_CYCURSOR); // 32

   H := CreateCursor(hInstance, 0, 0, 32{size.x}, 32{size.y}, @A, @X);
end;

procedure TForm4.FormDestroy(Sender: TObject);
begin
   DestroyCursor(H);
end;

procedure TForm4.WMSetCursor(var Message:TMessage);
begin
   SetCursor(h);
end;
alexBlack вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц