Страница 1 из 1

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

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

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

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

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

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

Добавлено: 10 Май 2007, 10:12
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
  ...

Добавлено: 11 Май 2007, 4: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]

Добавлено: 14 Май 2007, 15:33
Andrew™
обязательно гляну до среды, очеть большой цейтнот

Добавлено: 16 Май 2007, 8:42
Andrew™
починил, и проверил эту ситуацию на BrowseButton кнопках, там была такая же ситуация, бросай письмо на мыло брошу линк