C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 2.4.1 - Создание и отображение каретки / Каретки / Win32 API

2.4.1 - Создание и отображение каретки

После приема фокуса клавиатуры, окно должно создать и показывать каретку. Используйте функцию CreateCaret, чтобы создать каретку в данном окне. Вы можете затем вызывать SetCaretPos, чтобы установить текущую позицию каретки и ShowCaret, чтобы сделать каретку видимой.

Система посылает сообщение WM_SETFOCUS окну, принимающему фокус клавиатуры; следовательно, прикладная программа должна создать и показывать каретку при обработке этого сообщения.

HWND hwnd,       // дескриптор окна
int x;           // горизонтальная координата каретки
int y;           // вертикальная координата каретки
int nWidth;      // ширина каретки
int nHeight;     // высота каретки
char *lpszChar;  // указатель на символ
 
    case WM_SETFOCUS: 
 
// Создаем плотную черную каретку. 
CreateCaret(hwnd, (HBITMAP) NULL, nWidth, nHeight); 
// Регулировка позиции каретки, в рабочих координатах. 
 SetCaretPos(x, y); 
// Отображаем каретку. 
ShowCaret(hwnd); 
break; 

Чтобы создать каретку, основанную на точечном рисунке, Вы должны определить дескриптор растрового изображения, когда используете функцию CreateCaret. Вы можете использовать прикладную программу работы с графикой, чтобы создать точечный рисунок и оттранслировать ресурс, чтобы добавить точечный рисунок к ресурсам вашей прикладной программы. Ваша прикладная программа может затем использовать функцию LoadBitmap, чтобы загрузить дескриптор точечного рисунка. Например, Вы можете заменить в предшествующем примере строку CreateCaret, чтобы создать растровую каретку, следующими строками.

// Загрузка определенного программой ресурса каретки.
hCaret = LoadBitmap(hinst, MAKEINTRESOURCE(120)); 
// Создание точечного рисунка каретки. 
CreateCaret(hwnd, hCaret, 0, 0); 

Альтернативно, Вы можете использовать функцию CreateCaret или CreateDIBitmap, чтобы возвратить дескриптор точечного рисунка каретки. Для получения дополнительной информации о точечных рисунках, см. Точечные рисунки.

Если ваша прикладная программа определяет дескриптор точечного рисунка, CreateCaret игнорирует параметры высоты и ширины. Точечный рисунок определяет размер каретки.


| |
Автор Владимир Соковиков.
[AD]