Задать вопрос
mrjbom
@mrjbom

Как увеличить стандартный курсор Windows используя WinAPI(консольное приложение)?

Мне нужно увеличить базовый курсор Windows в 2 раза, как это сделать?
Я пробовал создавать кастомный курсор таким образом:

Код
BYTE ANDmaskCursor[] =
	{
		0xFF, 0xFC, 0x3F, 0xFF,   // строка 1 
		0xFF, 0xC0, 0x1F, 0xFF,   // строка 2 
		0xFF, 0x00, 0x3F, 0xFF,   // строка 3 
		0xFE, 0x00, 0xFF, 0xFF,   // строка 4 

		0xF7, 0x01, 0xFF, 0xFF,   // строка 5 
		0xF0, 0x03, 0xFF, 0xFF,   // строка 6 
		0xF0, 0x03, 0xFF, 0xFF,   // строка 7 
		0xE0, 0x07, 0xFF, 0xFF,   // строка 8 

		0xC0, 0x07, 0xFF, 0xFF,   // строка 9 
		0xC0, 0x0F, 0xFF, 0xFF,   // строка 10 
		0x80, 0x0F, 0xFF, 0xFF,   // строка 11 
		0x80, 0x0F, 0xFF, 0xFF,   // строка 12 

		0x80, 0x07, 0xFF, 0xFF,   // строка 13 
		0x00, 0x07, 0xFF, 0xFF,   // строка 14 
		0x00, 0x03, 0xFF, 0xFF,   // строка 15 
		0x00, 0x00, 0xFF, 0xFF,   // строка 16 

		0x00, 0x00, 0x7F, 0xFF,   // строка 17 
		0x00, 0x00, 0x1F, 0xFF,   // строка 18 
		0x00, 0x00, 0x0F, 0xFF,   // строка 19 
		0x80, 0x00, 0x0F, 0xFF,   // строка 20 

		0x80, 0x00, 0x07, 0xFF,   // строка 21 
		0x80, 0x00, 0x07, 0xFF,   // строка 22 
		0xC0, 0x00, 0x07, 0xFF,   // строка 23 
		0xC0, 0x00, 0x0F, 0xFF,   // строка 24 

		0xE0, 0x00, 0x0F, 0xFF,   // строка 25 
		0xF0, 0x00, 0x1F, 0xFF,   // строка 26 
		0xF0, 0x00, 0x1F, 0xFF,   // строка 27 
		0xF8, 0x00, 0x3F, 0xFF,   // строка 28 

		0xFE, 0x00, 0x7F, 0xFF,   // строка 29 
		0xFF, 0x00, 0xFF, 0xFF,   // строка 30 
		0xFF, 0xC3, 0xFF, 0xFF,   // строка 31 
		0xFF, 0xFF, 0xFF, 0xFF    // строка 32 
	};

	BYTE XORmaskCursor[] =
	{
		0x00, 0x00, 0x00, 0x00,   // строка 1 
		0x00, 0x03, 0xC0, 0x00,   // строка 2 
		0x00, 0x3F, 0x00, 0x00,   // строка 3 
		0x00, 0xFE, 0x00, 0x00,   // строка 4 

		0x0E, 0xFC, 0x00, 0x00,   // строка 5 
		0x07, 0xF8, 0x00, 0x00,   // строка 6 
		0x07, 0xF8, 0x00, 0x00,   // строка 7 
		0x0F, 0xF0, 0x00, 0x00,   // строка 8 

		0x1F, 0xF0, 0x00, 0x00,   // строка 9 
		0x1F, 0xE0, 0x00, 0x00,   // строка 10 
		0x3F, 0xE0, 0x00, 0x00,   // строка 11 
		0x3F, 0xE0, 0x00, 0x00,   // строка 12 

		0x3F, 0xF0, 0x00, 0x00,   // строка 13 
		0x7F, 0xF0, 0x00, 0x00,   // строка 14 
		0x7F, 0xF8, 0x00, 0x00,   // строка 15 
		0x7F, 0xFC, 0x00, 0x00,   // строка 16 

		0x7F, 0xFF, 0x00, 0x00,   // строка 17 
		0x7F, 0xFF, 0x80, 0x00,   // строка 18 
		0x7F, 0xFF, 0xE0, 0x00,   // строка 19 
		0x3F, 0xFF, 0xE0, 0x00,   // строка 20 

		0x3F, 0xC7, 0xF0, 0x00,   // строка 21 
		0x3F, 0x83, 0xF0, 0x00,   // строка 22 
		0x1F, 0x83, 0xF0, 0x00,   // строка 23 
		0x1F, 0x83, 0xE0, 0x00,   // строка 24 

		0x0F, 0xC7, 0xE0, 0x00,   // строка 25 
		0x07, 0xFF, 0xC0, 0x00,   // строка 26 
		0x07, 0xFF, 0xC0, 0x00,   // строка 27 
		0x01, 0xFF, 0x80, 0x00,   // строка 28 

		0x00, 0xFF, 0x00, 0x00,   // строка 29 
		0x00, 0x3C, 0x00, 0x00,   // строка 30 
		0x00, 0x00, 0x00, 0x00,   // строка 31 
		0x00, 0x00, 0x00, 0x00    // строка 32 
	};

	newCursor = CreateCursor(GetModuleHandle(NULL), 1, 1, 50, 50, ANDmaskCursor, XORmaskCursor);
	SetCursor(newCursor);



Курсор создаётся, но его не видно.
GetLastError() == 0;
  • Вопрос задан
  • 59 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы