Страница: 1 |
Имя функции: PtInrect Библиотека: User32 Требования: Windows NT 3.1 >, Windows 95 > Описание: Функция PtInRect определяет, лиже ли точка в прямоугольнике. Точка считается лежащей в прямоугольнике, если она находится на левой или на верхней стороне либо внутри прямоугольника. Точка, лежащая на правой или нижней стороне прямоугольника, считается не принадлежащей прямоугольнику. Схожие функции: SetRect, PtInRegion Объявление: Declare Function PtInRect Lib "user32" (lpRect As RECT, ByVal x As Long, ByVal y As Long) As Long Параметры: - lpRect Указатель на структуру типа RECT, содержащую прямоугольник - x Координата x точки - y Координата y точки Возвращаемые значения: Если точка лежит внутри прямоугольника, возвращаемое значение ненулевое. Если точка не лежит внутри прямоугольника, возвращаемое значение 0. Для получения расширенной информации об ошибках используйте GetLastError Пример(ы): Точка в... Private Type RECT Left As Long Top As Long Right As Long Bottom As Long End Type Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long Private Declare Function PtInRect Lib "user32" (lpRect As RECT, ByVal x As Long, ByVal y As Long) As Long Private Declare Function PtInRegion Lib "gdi32" (ByVal hRgn As Long, ByVal x As Long, ByVal y As Long) As Long Private Declare Function CreateEllipticRgnIndirect Lib "gdi32" (lpRect As RECT) As Long Private Declare Function SetPixelV Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal crColor As Long) As Long Private Declare Function SetRect Lib "user32" (lpRect As RECT, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long Private Sub Form_Load() Dim mRGN As Long, R As RECT, x As Long, y As Long 'Установка графического режима для перерисовки Me.AutoRedraw = True 'Установка прямоугольника SetRect R, 0, 0, 50, 50 'Создание эллиптического региона mRGN = CreateEllipticRgnIndirect(R) For x = R.Left To R.Right For y = R.Top To R.Bottom 'Если точка внутри региона, рисуем зеленую точку If PtInRegion(mRGN, x, y) <> 0 Then 'Рисуем зеленую точку SetPixelV Me.hdc, x, y, vbGreen ElseIf PtInRect(R, x, y) <> 0 Then 'Рисуем красную точку SetPixelV Me.hdc, x, y, vbRed End If Next y Next x 'Удаляем регион DeleteObject mRGN End Sub .NET - заменено: Информация отсутствует .NET - Пример: Нет примера
Пасиба! Вот скоро в том разделе откроется online добавление функций. Блин, скорее бы... хм.... ну пример взять из API - GUIDE ... только вот объясните мне тупому .. зачем .. надо .. делать то что уже сделано? ...только не думайте что я придераюсь .. но переводить всё таки... надо ... хотя бы ... как в примере... из API-GUIDE... Не... ИМХО сей справочник по АПИ штука нужная! "'Установка прямоугольника SetRect R, 0, 0, 50, 50" означает что у нас есть прямоугольник и мы его куда то ставим?... я думаю.. лучше тут написать именно... как в API-GUIDE ... "Установка координат прямоугольника" "Координата x точки" ... как то не по русски... можно сменить на "Координаты точки "X" " "'Удаляем регион" ... в оригинальной версии написано "Удаляем наш регион" то бишь нехватает конкретики.... можно было написать и так ... "Удаляем созданный выше регион"... или "Удаляем регион созданный функцией CreateEllipticRgnIndirect" П.С: вот такой я придирчевый... "'Установка прямоугольника SetRect R, 0, 0, 50, 50" означает что у нас есть прямоугольник и мы его куда то ставим?... я думаю.. лучше тут написать именно... как в API-GUIDE ... "Установка координат прямоугольника" "Координата x точки" ... как то не по русски... можно сменить на "Координаты точки "X" " "'Удаляем регион" ... в оригинальной версии написано "Удаляем наш регион" то бишь нехватает конкретики.... можно было написать и так ... "Удаляем созданный выше регион"... или "Удаляем регион созданный функцией CreateEllipticRgnIndirect" П.С: вот такой я придирчевый... "- lpRect Указатель на структуру типа RECT, содержащую прямоугольник" Она не содержит прямоугольник.... так как прямоугольник в данном случаи будет объект... а содержит всего лишь его кординаты .... Вот поэтому .. я предпочитаю читать ... оригенал... не в обиду... но просто в програмировании важна конкретика.. +)) да програмеры вообще сообразительные... Страница: 1 |
Вопрос: PtInRect
Добавлено: 16.01.04 22:37
Автор вопроса: Sharp | Web-сайт:
Ответы
Всего ответов: 12
Номер ответа: 1
Автор ответа:
Иван
Администратор
ICQ: 147688925
Вопросов: 24
Ответов: 708
Web-сайт:
Профиль | | #1
Добавлено: 17.01.04 07:50
Номер ответа: 2
Автор ответа:
Александр
Разработчик Offline Client
ICQ: 204034
Вопросов: 106
Ответов: 1919
Профиль | | #2
Добавлено: 17.01.04 18:10
Номер ответа: 3
Автор ответа:
Fallout
Вопросов: 10
Ответов: 387
Web-сайт:
Профиль | | #3
Добавлено: 19.01.04 17:10
Номер ответа: 4
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #4
Добавлено: 19.01.04 18:58
Т.е. как это - переводить, как в примере? Нельзя ли изложить поподробнее, попонятнее и без такого числа троеточий?
Номер ответа: 5
Автор ответа:
MYSTERIOR
ICQ: 227369659
Вопросов: 31
Ответов: 96
Web-сайт:
Профиль | | #5
Добавлено: 19.01.04 19:34
Номер ответа: 6
Автор ответа:
Fallout
Вопросов: 10
Ответов: 387
Web-сайт:
Профиль | | #6
Добавлено: 20.01.04 11:32
Номер ответа: 7
Автор ответа:
Fallout
Вопросов: 10
Ответов: 387
Web-сайт:
Профиль | | #7
Добавлено: 20.01.04 11:35
Номер ответа: 8
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #8
Добавлено: 20.01.04 13:39
> можно сменить на "Координаты точки "X" "
Тогда лучще "Абсцисса точки". Только, возможно, не все поймут..
Номер ответа: 9
Автор ответа:
Fallout
Вопросов: 10
Ответов: 387
Web-сайт:
Профиль | | #9
Добавлено: 20.01.04 21:02
Номер ответа: 10
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #10
Добавлено: 21.01.04 18:48
2Fallout: все это, конечно, правильные замечания, однако смысл не теряется. И большинство программеров, представляющих себе, что такое WinAPI, мои сокращения поймут.
Номер ответа: 11
Автор ответа:
Fallout
Вопросов: 10
Ответов: 387
Web-сайт:
Профиль | | #11
Добавлено: 22.01.04 20:58
Номер ответа: 12
Автор ответа:
POMAH
ICQ: 223-574-928
Вопросов: 0
Ответов: 16
Профиль | | #12
Добавлено: 23.01.04 10:30
2Sharp: все классно! Но один нюансик. Если ты рассматриваешь функцию и описываешь ее параметры, то неплохо было бы остановиться на них поподробнее. Например, lpRect - указатель на структуру типа RECT. Неплохо было бы немного рассказать и об этой структуре!