Вниз
Скачать: 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.028 c
2-1141663768
Arazel
2006-03-06 19:49
2006.03.26
IDAPI: Как вставить новую запись? С Автоинкрементом?


2-1141706207
trych
2006-03-07 07:36
2006.03.26
дата


6-1134481685
KosTiger
2005-12-13 16:48
2006.03.26
Сервер авторизации


11-1122728443
jumpingjack
2005-07-30 17:00
2006.03.26
Не компилируется KOL проект.


2-1140436679
alex111
2006-02-20 14:57
2006.03.26
Как сравнить время




   Наверх