Главная страница
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.045 c
2-1141996313
dabreezy
2006-03-10 16:11
2006.03.26
Память


1-1140352984
Pit
2006-02-19 15:43
2006.03.26
Как определить полное имя exe


2-1141973054
Елена
2006-03-10 09:44
2006.03.26
Работа с динамическими компонентами


2-1142226931
Rubey
2006-03-13 08:15
2006.03.26
Текущая строка в STRINGGRID


3-1138962198
DiGer
2006-02-03 13:23
2006.03.26
Экспорт данных в DBGrid