Как узнать активен ли объект?
If (GetFocus()==DBGRID) ....
Но она почему-то не работает, хотя ошибки при компиляции нет, но она всегда возрощает 0, то есть условие не выполняется, даже когда DBGRID активна.
Цитата:
Originally posted by Dissident
НУжно проверить активен ли (выделена строчка например) объект BDGRID. Как это можно сделать? Я пробывал такую штуку:
If (GetFocus()==DBGRID) ....
Но она почему-то не работает, хотя ошибки при компиляции нет, но она всегда возрощает 0, то есть условие не выполняется, даже когда DBGRID активна.
НУжно проверить активен ли (выделена строчка например) объект BDGRID. Как это можно сделать? Я пробывал такую штуку:
If (GetFocus()==DBGRID) ....
Но она почему-то не работает, хотя ошибки при компиляции нет, но она всегда возрощает 0, то есть условие не выполняется, даже когда DBGRID активна.
Если память моя мне не скем не изменяет - то функция надоть что бы компонент фокус получил...:)
Для проверки стоит использовать событие компонента OnFocused (если таковое имеется или что нить подобное вариантов мнго и на выбор)
А если ну очень хочется то -
if(DBGRID->GetFocus()) - если компонета имеет TabStop ==true - есть шанс что условие у тебя будет всегда выполнено...:) т.е. копонент получит фокус и об этом отрапортует. Но способ очень хлипкий и ненадежный...в том смысле что им достаточно сложно выполнять какие либо осмысленные действия. а применительно к DBGRIDу - у него имеется по-моему OnSelected - за точность не ручаюсь, до билдера сейчас дотянутся не могу