Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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
15-1166041883
palva
2006-12-13 23:31
2007.01.07
Изменить соотношение высоты и ширины картинки при просмотре AVI


1-1163765000
laronov
2006-11-17 15:03
2007.01.07
выделение в ComboBox


11-1142986047
phant
2006-03-22 03:07
2007.01.07
Как в KOL сменить цвет выделенного эл. LIstBox а?


15-1166081020
Roman_ln
2006-12-14 10:23
2007.01.07
не подскажите в реестре в какой папке уст. значки в панели задач


1-1163744633
tipman
2006-11-17 09:23
2007.01.07
Адаптация приложения для Screen.PixelPerInch = 120... как?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский