![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
В книжке М. Фленова описывается такой фокус:
Цитата:
Вопрос: Можно ли рандомно менять вид системного курсора, чтобы в течение определенного времени курсор последовательно принимал все перечисленные значения? |
|
#2
|
||||
|
||||
|
Можно. В чем проблема?
|
|
#3
|
|||
|
|||
|
Цитата:
проблема в том, что у меня не получается. ))) попробовал вот так: Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
repeat
randomize;
setSystemCursor(GetCursor, ocr_cross);
setSystemCursor(GetCursor, ocr_wait)
setSystemCursor(GetCursor, ocr_up);
setSystemCursor(GetCursor, ocr_normal);
until true;
end;
end.;lmikle: пользуемся правильными тегами! но может быть, можно лучше? )) Последний раз редактировалось lmikle, 01.01.2013 в 12:21. |
|
#4
|
||||
|
||||
|
Во-первых, рандомайз внутри цикла лишен смысла. Он делается один раз при старте программы. Далее используется рандом. Во-вторых, рандомности в коде нет. Как вариант, сделать массив из всех возможных значений курсоров, в цикле брать рандом от размера этого массива и юзать полученное число как индекс курсора в массиве. Вариант 2 - посмотреть, чему соответствуют эти константы курсоров. Это будут числа, и скорее всего они будут по порядку. Поэтому можно брать рандом сразу от них. Ну и в цикле надо делать ожидание, иначе курсоры будут мигать с огромной скоростью и сольются в марево.
|
|
#5
|
|||
|
|||
|
Bargest
Благодарствую. ![]() |