Конференция "Базы" » dbgrid - выделить запись которая находится под курсором мыши [D7]
 
  • Георгий (17.06.08 18:06) [0]
    вот собственно задача - необходимо sdltkznm запись которая находится под курсором мыши,
    я пока нашёл только 1 варинт - в эвенте ondrawcolumncell есть параметр Rect, его можно сравнивать с положением курсора, всё бы было отлично, еслибы не то, что в итоге приходится постоянно вызывать refresh для dbgrig, что сразу начинате грузить проц, даа и вообще появляется мерцание,

    может быть есть более интеллигентнйы метод???

    заранее спасибо..
  • Поросенок Винни-Пух © (17.06.08 18:24) [1]
    кому потребовалась эта дурость?
  • clickmaker © (17.06.08 18:24) [2]
    а что значит "выделить"? сделать текущей?
  • Георгий (17.06.08 18:33) [3]
    Поросенок Винни-Пух © , поверьте, заказчику, не мне((
    clickmaker, выделить визуально, допустим, сделать текст в чтроке подчёркнутый
  • Поросенок Винни-Пух © (17.06.08 18:35) [4]
    а если два раза провести мышью по одной записи?
    или три?
  • Поросенок Винни-Пух © (17.06.08 18:36) [5]
    и что делать если рука дрогнула, и легкким движением руки выделено столько, сколько не надо?
  • Георгий (17.06.08 18:37) [6]
    Поросенок Винни-Пух, всмысле, не поянл вопроса,
    имеется в виду визуально выделять запись над котрой сейчас курсор мыши находится, как только он с неё ушёл, выделяем другую..
  • Поросенок Винни-Пух © (17.06.08 18:38) [7]
    clickmaker, выделить визуально, допустим, сделать текст в чтроке подчёркнутый

    ага. только визуально.
    он (заказчик) видимо захочет после этого выполнить групповую операцию над всем выделенным.
    не просто же так хотелка его включилась
  • Поросенок Винни-Пух © (17.06.08 18:39) [8]
    Поросенок Винни-Пух, всмысле, не поянл вопроса,

    Ну вот реализовал ты что он хочет.
    Я беру и вожу мышкой по гриду, ничего такого не имея ввиду.
    а ты ему выделяешь все подряд.
  • Георгий (17.06.08 18:39) [9]
    Поросенок Винни-Пух, это просто придурь заказчика, ничего происходить не будет, просто надо подчёркивать запись над котрой нах курсор мыши
  • Ega23 © (17.06.08 18:40) [10]
    Согласен с Винни, бреднятина какая-то...
    А заказчик вкурсе, сколько стоит такая "хотелка"?

    Поясню: заказчики - они такие забавные. Всегда хотят всего дофига, и чтобы у них это было не как у других. Только вот они почему-то всегда забывают, что такие "хотелки" стоят денег. причём немалых.
    Я вот, к примеру, затрудняюсь сказать, сколько бы мне дней понадобилось бы для реализации вот такого вот хитрого DBGrid'а.
    Теперь вопрос: а сколько стоит один мой рабочий день (типа моя зарплата)? Плата за аренду рабочего места? Все налоги? Прибыль предприятию (ну должна же быть какая-то прибыль от этого, не так ли)? Учёт упущенной прибыли (например, я этим занимался неделю, за это время я бы над другим проектом поработал бы).
    И по-минимуму получается нефиговая сумма. Объяснив это дело вашему заказчику и показав предварительный счёт - вы сразу лишитесь данной "хотелки" с его стороны.
  • Поросенок Винни-Пух © (17.06.08 18:41) [11]
    "не делай этого, козленочком станешь"
  • Поросенок Винни-Пух © (17.06.08 18:43) [12]
    Тут дело не в сложности и не в бабках.
    Тут дело в том, что этот же перец скажет через пять минут:
    "а какого ты выделяешь строки, я же просто потянул мышку с иконке винампа на десктопе. я ничего не хотел выделять!"
  • clickmaker © (17.06.08 18:43) [13]
    > Всегда хотят всего дофига, и чтобы у них это было не как
    > у других

    ну так, естественное желание выпендриться. Даже папуасы этим страдают, оттягивая себе различные части тела. Так что ж говорить о заказчиках )
  • Ega23 © (17.06.08 18:45) [14]

    > ну так, естественное желание выпендриться. Даже папуасы
    > этим страдают, оттягивая себе различные части тела. Так
    > что ж говорить о заказчиках )


    Об том и речь. Они просто думают, что это "тьфу, на 5 минут работы". А вот когда им всё это дело показываешь, так у них челюсть и падает.
  • Поросенок Винни-Пух © (17.06.08 18:48) [15]
    просто надо подчёркивать запись над котрой нах курсор мыши

    Он после этого наверное будет вводить мышь в область грида строго сбоку, ведя мышь строго горизонтально по нужной записи. Двумя руками, чтобы не было мандража.
    И таким же образом пробираться к кнопкам этой же формы.
  • Георгий (17.06.08 18:50) [16]
    ладно я понял что простого решения нет, но всёже я плохо выразился, с самого начала:

    надо выделять ОДНУ ЕДИНСТВЕННУЮ запись, над которой находится курсор мыши, как толкьо он переместиляс на другую, запись теряет выделение - и выделяется та на которую переместился курсор
  • clickmaker © (17.06.08 18:51) [17]
    в принципе, иногда это имеет смысл, если какое-то поле типа гиперссылка. Но не вся же запись...
  • Поросенок Винни-Пух © (17.06.08 18:52) [18]
    во придурь.
    зачем?

    типа курсор мыши ему инвалиду не виден?
    так шлейф есть стандартный.
  • Георгий (17.06.08 18:53) [19]
    clickmaker ©   (17.06.08 18:51) [17]

    в принципе, иногда это имеет смысл, если какое-то поле типа гиперссылка. Но не вся же запись..., ну вот какраз для этого и надо, имеется в виду, что всё поле гиперссылка
  • Поросенок Винни-Пух © (17.06.08 18:57) [20]
    О. А как все начиналось....

    ВиртуалСтрингТриЕкс вместо грида.
  • clickmaker © (17.06.08 19:00) [21]
    > ну вот какраз для этого и надо, имеется в виду, что всё
    > поле гиперссылка

    а ты его сразу рисуй подчеркнутым и синим цветом. А при наведении мыши меняй курсор на палец
  • Георгий (17.06.08 19:02) [22]
    clickmaker, ну судя по ответам так и придётся, а ведь у меян почти получилось)
  • Johnmen © (17.06.08 20:16) [23]
    Это делается через обработку CM_HINTSHOW. И никакие случайные движения мыши не будут паразитно приводить к выделению.
    Смотри исходники DBGridEh.
  • Георгий (17.06.08 20:54) [24]
    Johnmen, ох спасибо, единственный человек, который по делу написал
    *пошёл копать код*
  • b z (17.06.08 21:22) [25]

    > clickmaker ©   (17.06.08 18:51) [17]
    > в принципе, иногда это имеет смысл, если какое-то поле типа
    > гиперссылка. Но не вся же запись...
    Ховер есть не только у гиперссылки, и никто не считает это ерундой, ну или не многие, почему бы не иметь его в гриде ..
  • clickmaker © (18.06.08 11:30) [26]
    в конце концов, почему бы не рисовать одну отдельно взятую ячейку в OnMouseMove? Вынести код рисования в отдельную процедуру и - вперед
  • Иван (24.08.08 09:02) [27]
    просто возьми bvDBGrid там все есть
 
Конференция "Базы" » dbgrid - выделить запись которая находится под курсором мыши [D7]
Есть новые Нет новых   [134473   +28][b:0][p:0.001]