Popup меню и SELF.Action еще раз!

Обсуждение MAV Direct ODBC

Модератор: Andrew™

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion и MAV который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Аватара пользователя
StillZero
Ветеран
Сообщения: 454
Зарегистрирован: 06 Июль 2005, 2:17
Откуда: Хабаровск
Контактная информация:

Popup меню и SELF.Action еще раз!

Сообщение StillZero »

Есть три стд кнопки: Добавить, Изменить, Удалить
Есть лист-бокс.
Если в лист-боксе поле типо "галка" установлена, то надо дизаблить кнопки Изменить, Удалить.
Пишем код на BRW1:Browse.Action

Код: Выделить всё

 IF PC:Flag         ! поле типо галка
    CASE Control
       OF ?Change
          RETURN 1
       OF ?Delete
          RETURN 1
    END
 END
Все почти работает.

Ситуация когда работает не корретно:
В лист-боксе выделена запись где галки нет. Т.е. все кнопки доступны.
Жмем правой кнопкой мыши на записи где галка есть. Записы выделяется. Появляется корректное popup-меню, но
кнопки по прежнему доступны, а должны быть задизаблены.
Аватара пользователя
Andrew™
SQL профи
Сообщения: 651
Зарегистрирован: 05 Июль 2005, 16:32
Откуда: Москва, Зеленоград

Re: Popup меню и SELF.Action еще раз!

Сообщение Andrew™ »

StillZero писал(а):Есть три стд кнопки: Добавить, Изменить, Удалить
Есть лист-бокс.
Если в лист-боксе поле типо "галка" установлена, то надо дизаблить кнопки Изменить, Удалить.
Пишем код на BRW1:Browse.Action

Код: Выделить всё

 IF PC:Flag         ! поле типо галка
    CASE Control
       OF ?Change
          RETURN 1
       OF ?Delete
          RETURN 1
    END
 END
Все почти работает.

Ситуация когда работает не корретно:
В лист-боксе выделена запись где галки нет. Т.е. все кнопки доступны.
Жмем правой кнопкой мыши на записи где галка есть. Записы выделяется. Появляется корректное popup-меню, но
кнопки по прежнему доступны, а должны быть задизаблены.
не такм ставишь, надо в

Код: Выделить всё

BRW1:Update.Action                       FUNCTION(LONG Request)

а там

 CASE Request
   Of InsertRecord
   Of ChangeRecord
  ...
Аватара пользователя
StillZero
Ветеран
Сообщения: 454
Зарегистрирован: 06 Июль 2005, 2:17
Откуда: Хабаровск
Контактная информация:

Сообщение StillZero »

это здесь причем???
BRW1:Update.Action FUNCTION(LONG Request)

а там

CASE Request
Of InsertRecord
Of ChangeRecord

Пример: http://www.clarionlife.net/test_popup.zip
Сделали пример, чтобы описать проблему, надеюсь сейчас все станет понятно. Перед запуском примера надо создать таблицу на сервере. Скрипт для создания и заполнения находится в test_popup.sql.

Действия:
1. Указатель находится на первой записи (Record ID = 1). Кнопка Delete активна.
2. Встаем на вторую запись - кнопка Delete в состоянии Disable.
3. Теперь нажимаем правую кнопку мыши на первой записи - происходит выделение первой записи. Появляется popup-меню, в popup-меню пункт Delete активен, а на окне кнопка Delete неактивна, т.е. ее состояние не изменилось.

Если мы тупим где-то, покажи на этом примере.[/quote]
Аватара пользователя
Andrew™
SQL профи
Сообщения: 651
Зарегистрирован: 05 Июль 2005, 16:32
Откуда: Москва, Зеленоград

Сообщение Andrew™ »

обязательно гляну до среды, очеть большой цейтнот
Аватара пользователя
Andrew™
SQL профи
Сообщения: 651
Зарегистрирован: 05 Июль 2005, 16:32
Откуда: Москва, Зеленоград

Сообщение Andrew™ »

починил, и проверил эту ситуацию на BrowseButton кнопках, там была такая же ситуация, бросай письмо на мыло брошу линк
Ответить