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

Вниз

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

 
Igor_thief   (2006-01-07 14:02) [0]

Как сделать так, чтобы загруженый мною курсор был одинаков для всех окон. Т.е. сделать глобальный курсор, который не будет меняться, куда б его не навели.

ЗЫ: только конкретные примеры. Варианты про использование SetSystemCursor без примеров даже не предлогать.

Я делаю это приблизительно так:

var
 OldCursor, NewCursor, tmp: HCURSOR;
 crArray: array [0..15] of integer = (OCR_NORMAL, OCR_IBEAM, OCR_WAIT, OCR_CROSS,
                        OCR_UP, OCR_SIZE, OCR_ICON,OCR_SIZENWSE, OCR_SIZENESW,
                        OCR_SIZEWE, OCR_SIZENS, OCR_SIZEALL, OCR_ICOCUR, OCR_NO,
                        OCR_HAND, OCR_APPSTARTING);

....

procedure TForm1.FormCreate(Sender: TObject);
begin
 NewCursor := LoadCursorFromFile("curs.cur");
end;

.....
var
 i: integer;
begin
 for i := 0 to 15 do
    SetSystemCursor(CopyImage(NewCursor, IMAGE_CURSOR, 0, 0, LR_COPYFROMRESOURCE),
                    crArray[i]);
end;
...


У этого метода есть один недостаток (ну может больше, но я пока про них не знаю:)). Если курсор в данный момент имеет вид crHSplit, то он не за меняется на мой курсор, пока я не подергаю мышкой по моей форме (только после этого он становится таким, каким запланировано). Я конечно понимаю, что нету такой константы в Windows (есть только те, которые перечислены в масиве). Как обойти такую ситуацию? Может есть какая возможность получить текущий курсор и заменить его на мой, а потом в цикле дополнительно заменить все стандартные.


 
Igor_thief   (2006-01-07 16:49) [1]

Проблема решена!



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

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

Наверх




Память: 0.47 MB
Время: 0.038 c
8-1129748863
yura32
2005-10-19 23:07
2006.03.26
Kak zgladit BitMap


15-1141544457
Новичоккк
2006-03-05 10:40
2006.03.26
Коды мнемоник


1-1140788248
Igor_thief
2006-02-24 16:37
2006.03.26
MDI формы


3-1138288605
LineSoft
2006-01-26 18:16
2006.03.26
Ошибка при восстановлении БД Firebird


15-1141284592
КаПиБаРа
2006-03-02 10:29
2006.03.26
Каким будет программирование в 2030 году?