Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 имя надписи  [new]
smi
Member

Откуда:
Сообщений: 247
Добрый день и заранее спасибо за ответ.
Задача следующая…
На форме есть надпись. На Click этой надписи стоит кокая-то процедура. Вопрос. Как при нажатие на эту надпись загнать в переменную ее имя? Me!Надпись.Name использовать нельзя, а Me.ActiveControl.Name тоже по понятным причинам не сработает. Вопрос…
4 апр 06, 10:42    [2520578]     Ответить | Цитировать Сообщить модератору
 Re: имя надписи  [new]
Daf
Member

Откуда: Москва
Сообщений: 1916
А если попробовать Свойство Подпись (Caption) ? ....
4 апр 06, 10:46    [2520602]     Ответить | Цитировать Сообщить модератору
 Re: имя надписи  [new]
Karfaqen
Member

Откуда:
Сообщений: 7010
smi
Как при нажатие на эту надпись загнать в переменную ее имя? Me!Надпись.Name использовать нельзя
Почему же нельзя? Вот:
Private Sub Надпись_Click()
    Dim s$ 'переменная
    s = Me!Надпись.Name
    MsgBox s 'тут переменная содержит имя элемента управления
End Sub
4 апр 06, 10:50    [2520635]     Ответить | Цитировать Сообщить модератору
 Re: имя надписи  [new]
smi
Member

Откуда:
Сообщений: 247
Karfaqen
smi
Как при нажатие на эту надпись загнать в переменную ее имя? Me!Надпись.Name использовать нельзя
Почему же нельзя? Вот:
Private Sub Надпись_Click()
    Dim s$ 'переменная
    s = Me!Надпись.Name
    MsgBox s 'тут переменная содержит имя элемента управления
End Sub


Нельзя, не потому что программа это не выполнит, а по замыслу создателя. То есть хочется обойти такое прямое обращение к надписи
4 апр 06, 10:55    [2520656]     Ответить | Цитировать Сообщить модератору
 Re: имя надписи  [new]
bubucha
Member

Откуда:
Сообщений: 5633
автор
а по замыслу создателя

Можно подробнее про замысел.
4 апр 06, 10:56    [2520667]     Ответить | Цитировать Сообщить модератору
 Re: имя надписи  [new]
smi
Member

Откуда:
Сообщений: 247
Daf
А если попробовать Свойство Подпись (Caption) ? ....

непонял
4 апр 06, 10:56    [2520669]     Ответить | Цитировать Сообщить модератору
 Re: имя надписи  [new]
bubucha
Member

Откуда:
Сообщений: 5633
автор
То есть хочется обойти такое прямое обращение к надписи

а я вот это не понял, Caption- это то, что внутри подписи
4 апр 06, 10:59    [2520677]     Ответить | Цитировать Сообщить модератору
 Re: имя надписи  [new]
Karfaqen
Member

Откуда:
Сообщений: 7010
smi
по замыслу создателя
Неисповедимы замыслы создателя ;)

Надо полагать, есть куча элементов типа acLabel, у всех на Click стоит in-line вызов типа =ClickOnLabel(). И он принципиально без параметра (чтоб без разносолов всем одинаковое написать туда), но - с надеждой прямо в этой процедуре разобраться, на кого именно там кликнули. Так?
4 апр 06, 11:01    [2520686]     Ответить | Цитировать Сообщить модератору
 Re: имя надписи  [new]
smi
Member

Откуда:
Сообщений: 247
bubucha
автор
а по замыслу создателя

Можно подробнее про замысел.

Ленточная форма. Много полей. Нажимаешь сверху на лейбл поля. В зависимости от того на какой нажмешь - сортировка вверх, вниз. Соответственно программе надо понять на какую надпись произошел Клик. Можно на каждый лейбл повесить Me!Надпись.Name и при этом получится огромное количество однотипных процедур. По этому пути идти не хочется. Хочется написать функцию, определяющую имя контрола и всунуть ее на КЛИК в свойства Надписи. Ну и так далее…
4 апр 06, 11:06    [2520712]     Ответить | Цитировать Сообщить модератору
 Re: имя надписи  [new]
smi
Member

Откуда:
Сообщений: 247
bubucha
автор
То есть хочется обойти такое прямое обращение к надписи

а я вот это не понял, Caption- это то, что внутри подписи


Не внимательно прочитал. Caption перетутал с КОНТРОЛ
4 апр 06, 11:08    [2520722]     Ответить | Цитировать Сообщить модератору
 Re: имя надписи  [new]
smi
Member

Откуда:
Сообщений: 247
Иными словами хочется найти аналог Me.ActiveControl.Name, только для НАДПИСИ
4 апр 06, 11:09    [2520730]     Ответить | Цитировать Сообщить модератору
 Re: имя надписи  [new]
smi
Member

Откуда:
Сообщений: 247
Daf
А если попробовать Свойство Подпись (Caption) ? ....

Это наверное вариант. А еть Еще какие мысли
4 апр 06, 11:14    [2520760]     Ответить | Цитировать Сообщить модератору
 Re: имя надписи  [new]
Владимир Саныч
Member

Откуда: Израиль (причем это 1 человек, а не 2 => прошу на ты)
Сообщений: 40414
1. Ставим перехват кликов на форму.
2. При клике проходим циклом по всем контролам и сравниваем координаты мышки с координатами и размерами каждого из них.
4 апр 06, 11:16    [2520770]     Ответить | Цитировать Сообщить модератору
 Re: имя надписи  [new]
bubucha
Member

Откуда:
Сообщений: 5633
Для лейбла видимо никак, так все равно же прописывать для каждой надписи вызов ф-ии, чего бы не передать ей параметр. Еще вариант, заменить лейблы на переключатели, при этом будет видно по какому столбцу отсортировано.
4 апр 06, 11:17    [2520777]     Ответить | Цитировать Сообщить модератору
 Re: имя надписи  [new]
smi
Member

Откуда:
Сообщений: 247
Владимир Саныч
1. Ставим перехват кликов на форму.
2. При клике проходим циклом по всем контролам и сравниваем координаты мышки с координатами и размерами каждого из них.

Больно уж круто помоему. Легче Me!Надпись.Name =)
4 апр 06, 11:20    [2520807]     Ответить | Цитировать Сообщить модератору
 Re: имя надписи  [new]
smi
Member

Откуда:
Сообщений: 247
bubucha
Для лейбла видимо никак.


Спасибо
4 апр 06, 11:26    [2520827]     Ответить | Цитировать Сообщить модератору
 Re: имя надписи  [new]
Владимир Саныч
Member

Откуда: Израиль (причем это 1 человек, а не 2 => прошу на ты)
Сообщений: 40414
smi
Больно уж круто помоему.

Я так делал - работает. Кода строк 5-7.

smi
Легче Me!Надпись.Name =)

Если не надо отлавливать имя, а оно сразу известно, то да. Тогда к чему все вопросы?
4 апр 06, 11:30    [2520854]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить