Форум: "WinAPI";
Текущий архив: 2007.01.07;
Скачать: [xml.tar.bz2];
ВнизКак определить координаты компонента на форме? Найти похожие ветки
← →
igornov (2006-08-18 09:54) [0]Hi All!
Есть некое приложение с компонентом типа Gbgrid (точно не знаю ибо приложение чужое и исходников нет). Так вот в нём фокус перемещается по ячейкам. Необходимо добавить под текущей ячейкой (в фокусе) некоторую информацию для пользователя.
.
Как определить абсолютные координаты выбираемой ячейки?
Или это нереально?
← →
clickmaker © (2006-08-18 09:59) [1]ну нереального ничего нет )
цвет выделенной ячейки отличается от цвета всего грида? Тогда вперед - GetDC, GetPixel() в цикле
← →
igornov (2006-08-18 10:25) [2]
> цвет выделенной ячейки отличается от цвета всего грида?
отличается конечно
> Тогда вперед - GetDC, GetPixel() в цикле
GetDC возвращает (как я понял) хендл текущей области ввода в форме
В функцию передавать хендл окна с гридом или хендл грида?
а что мне даст GetPixel? Вернёт значение если я попал в область или CLR_INVALID...но с чего начинать перебор координат?
← →
clickmaker © (2006-08-18 10:34) [3]
> GetDC возвращает (как я понял) хендл текущей области ввода
> в форме
GetDC возвращает контекст отображения окна. Для рисования или считывания цвета.
> с чего начинать перебор координат?
а что значит "добавить под текущей ячейкой (в фокусе) некоторую информацию для пользователя"? Занести в ячейку?
← →
igornov (2006-08-18 10:47) [4]
> а что значит "добавить под текущей ячейкой (в фокусе) некоторую
> информацию для пользователя"? Занести в ячейку?
В ячейку заносить ничего не нужно.
По полученным координатам я в момент выбора ячейки снизу выведу маленькую форму с информацией... то есть интересуют только координаты выбранной ячейки
← →
clickmaker © (2006-08-18 11:59) [5]
> есть интересуют только координаты выбранной ячейки
т.е. содержимое даже не интересно?
ну тогда берешь контекст GetWindowDC(GridHandle) и в цикле от 0 до Grid.Width / Height и как только GetPixel станет равным цвету выделения, значит нашел
← →
igornov (2006-08-21 10:45) [6]
> как только GetPixel станет равным цвету выделения, значит
> нашел
Как мне определиться какой цвет искать (в цифровом выражении)? Как сопоставить этот искомый цвет со значениями которые возвращает GetPixel?
← →
igornov (2006-08-21 13:33) [7]clickmaker спасибо!
Разобрался... всё работает!!!
← →
GrayFace © (2006-08-25 22:12) [8]clickmaker © (18.08.06 9:59) [1]
Тогда вперед - GetDC, GetPixel() в цикле
Ну хотябы CopyRect и Bitmap.Scanline.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2007.01.07;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.022 c