Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Показать/скрыть курсор мыши


Автор: Alca 14.11.2006, 21:16
Показать/скрыть курсор мыши на рабочем столе?

Автор: Rodman 14.11.2006, 22:07
Код

ShowCursor(bool Show);



Автор: Alca 14.11.2006, 23:11
НЕ РАБОТАЕТ

Автор: Rodman 15.11.2006, 11:28
По конкретнее...

Процедура определна, но не работает???

Либо процедура вооще не определена???

Автор: Alca 15.11.2006, 20:35
Код

void __fastcall TfrmMain :: SpeedButton1Click(TObject *Sender) {
    ShowCursor(false);
}


Курсор пропал на форме, а если выходит за её пределы - появляется

Автор: Rodman 15.11.2006, 20:58
НУ а если принудить курсор находиться на форме - а там он невидим...

Добавлено @ 21:04 
1. Как переместить курсор мыши на X,Y

Код

// Для перемещения курсора используйте функцию:
SetCursorPos(X,Y);



2. Позиция курсора

Код

// Для того чтобы узнать позицию курсора напишите следующий код:
TPoint cPt;
GetCursorPos(&cPt);
ShowMessage(int(cPt.y));//Возвращает y-позицию курсора мыши
TPoint cPt;
GetCursorPos(&cPt);
ShowMessage(int(cPt.x));//Возвращает x-позицию курсора мыши



3. Как ограничить перемещение курсора мыши

Код

// Для того чтобы ограничить перемещение курсора мыши какой-либо областью экран, напишите следующий код:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
RECT LR;
LR.left=100;
LR.top=100;
LR.right=500;
LR.bottom=500;
ClipCursor(&LR);// Ограничиваем в заданой области
}
// Освободить курсор можно, передав функции NULL:
ClipCursor(NULL);


4. Как загрузить свой курсор

Код

// Напишите следующий код:
HWND i;
i=LoadImage(0,"cursor1.cur",IMAGE_CURSOR,0,0,LR_LOADFROMFILE);
if (i==0) ShowMessage("Ошибка загрузки курсора!");
else
{
Screen->Cursors[1]=i;
Form1->Cursor=1;
}




Автор: Alca 15.11.2006, 21:28
Форма невидима
Код

Application->ShowMainForm = false;

Автор: SenkraD 15.11.2006, 23:40
Если тебе надо, чтобы курсора определённое время не было видно на вообще во время работы программы,
то вродь это делатся через глобальную переменую Screen: там есть свойство Cursor.
Более подробно не помню.

Автор: Rodman 16.11.2006, 11:22
загони мышь за предела экрана

Автор: Alca 16.11.2006, 21:54
Естьтакой код:
Код

SetSystemCursor(LoadCursorFromFile("lnodrop.cur"), OCR_NORMAL);

[C++ Error] Unit1.cpp(65): E2451 Undefined symbol 'OCR_NORMAL'

Что не так?

Автор: Garoh 16.11.2006, 22:14
Кста еще вопрос на эту тему: надеюсь курсор в режиме невидимости не будет выполнять свои обычные функции (нажатие кнопок, прокрутка колеса)? Если будет, то какая есть функция для его дезактивации?

Автор: Alca 16.11.2006, 23:42
Код

const OCR_NORMAL      = 32512;
const OCR_IBEAM       = 32513;
const OCR_WAIT        = 32514;
const OCR_CROSS       = 32515;
const OCR_UP          = 32516;
const OCR_SIZE          = 32640;
const OCR_ICON          = 32641;
const OCR_SIZENWSE      = 32642;
const OCR_SIZENESW      = 32643;
const OCR_SIZEWE      = 32644;
const OCR_SIZENS      = 32645;
const OCR_SIZEALL     = 32646;
const OCR_ICOCUR      = 32647;
const OCR_NO          = 32648;
const OCR_HAND        = 32649;
const OCR_APPSTARTING = 32650;

SetSystemCursor(GetCursor(), OCR_SIZE);


далее создаём пустой курсор в Image Iditor-е, потом:
Код

SetSystemCursor(LoadCursorFromFile("Cursor1.cur"), OCR_NORMAL);

Мышь работает как обычно, только курсор невидим...
Гы-гы-гы.... Бомба!!!!!

Автор: Queuego 5.11.2022, 08:19
Модератор: Сообщение скрыто.

Автор: Noubpoeno 10.12.2022, 04:19
Модератор: Сообщение скрыто.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)