Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.071 c
2-1142320959
Dec
2006-03-14 10:22
2006.03.26
Глюк в Delphi


15-1141204071
Kerk
2006-03-01 12:07
2006.03.26
Ask Yahoo


1-1140544055
Alextp
2006-02-21 20:47
2006.03.26
Заменитель System.AssignFile для юникодных имен


4-1135966030
Dark Lord
2005-12-30 21:07
2006.03.26
Как удалить шрифт из системы по его названию?


2-1141723548
dera
2006-03-07 12:25
2006.03.26
как по нажатию на Enter, "нажать" Button1?




   Наверх