Приложения
Приложение А. Функции, константы и структуры RDS
А.5. Сервисные функции и макросы RDS
А.5.8. Работа с окнами подсистем
А.5.8.9. rdsGetScreenCoords – вычислить координаты на экране по координатам на рабочем поле
Функция rdsGetScreenCoords переводит координаты рабочего поля окна подсистемы в экранные координаты.
BOOL RDSCALL rdsGetScreenCoords( RDS_BHANDLE System, // Подсистема int wx,int wy, // Координаты на рабочем поле int *psx,int *psy // Экранные координаты );
Тип указателя на эту функцию
RDS_BBhIIpIpI
Параметры
- System (RDS_BHANDLE)
- Идентификатор подсистемы, для окна которой нужно провести преобразование координат (окно должно быть открыто). Функция также может работать при открытом для данной подсистемы порте вывода (см. ниже).
- wx, wy (int)
- Горизонтальная (wx) и вертикальная (wy) координаты точки на рабочем поле подсистемы в текущем масштабе. Горизонтальная ось координат направлена вправо, вертикальная – вниз, начало координат – левый верхний угол рабочего поля.
- psx, psy (int*)
- Указатели на целые переменные, в которые функция должна записать горизонтальную (psx) и вертикальную (psy) координаты точки экрана, соответствующей точке рабочего поля (wx,wy).
Возвращаемое значение
TRUE – преобразование выполнено, FALSE – ошибка (System – не подсистема, или окно подсистемы закрыто и нет ни одного активного порта вывода).
Примечания
Эта функция чаще всего используется для позиционирования каких-либо объектов Windows, (например, окон или контекстных меню), относительно блоков в окне подсистемы. Если окно подсистемы System открыто, функция выполнит преобразование координат для этого окна. В противном случае никакого преобразования координат выполнено не будет, и функция вернет FALSE.