Форум: "Прочее";
Текущий архив: 2006.04.23;
Скачать: [xml.tar.bz2];
Вниз[Юзабилити] Формы создания/настройки Найти похожие ветки
← →
Kerk © (2006-03-29 11:28) [0]Пользуясь тем, что сегодня благодаря электрикам можно не работать. Вынесу на обсуждение вот такой вопрос.
Есть форма "Создание XXX". В ней пользователь задает основные свойства этого XXX, жмет ОК и объект создается (вставляется соответствующая строка в табличку БД). Однажды заданные эти свойства редактировать уже нельзя. Так же есть форма "Параметры XXX", там несколько вкладок и куча параметров.
В данный момент реализовано так. Пользователь жмет "Создать" появляется окошко ввода свойств, он создает, после закрытия формы автоматически появляется форма "Параметры" и там можно подредактировать параметры вновь созданного объекта.
Но. Появилась необходимость добавить на форму параметров еще одну вкладку, содержащую задаваемые при создании свойства. Read Only. Мне логичным кажется решение интегрировать две формы, т.е чтобы пользователь задавал свойства, жал "Создать" и на этой же форме появлялись бы дополнительные вкладки с параметрами, которые можно было бы тут же редактировать. Но проблема в том, что пользователь может быть введен в заблуждение тем, что нажав "Отмена" в этой форме уже после создания, он как бы может отменить создание объекта, но на самом деле он лишь отменит редактирование параметров.
Как это удобнее для пользователя реализовать?
Сорри за объем.
← →
Плохиш © (2006-03-29 11:33) [1]
> Kerk © (29.03.06 11:28)
Хочешь сказать, что про фреймы не знаешь?
← →
Kerk © (2006-03-29 11:35) [2]Плохиш © (29.03.06 11:33) [1]
Хочешь сказать, что про фреймы не знаешь?
Хочу сказать, что не вижу смысла иметь 2 формы.
← →
Kerk © (2006-03-29 11:35) [3]Про фреймы думал. Но остановился пока на такой вот объединенной форме. Может и не прав.
← →
roottim © (2006-03-29 12:05) [4]Для создания объекта со всяческими параметрами использую wizard, то есть [Далее]...[Далее]... и [Финиш!] с отчетом на последней стадии о введеных данных для проверки.
А вот дальнейшее редактирование, удаление проходит в соответствующей форме.
Вроде всем понятно и не путают.
← →
Gero © (2006-03-29 12:14) [5]> [4] roottim © (29.03.06 12:05)
Очень хорошее и правильное решение.
← →
Ega23 © (2006-03-29 12:16) [6]Обычно делаю так:
type
TXXXPropertyForm=class(TForm)
.........
всякие контролы, отвечающие за свойства объекта XXXX
.........
private
procedure SetFMode(const Value:Integer);
public
property Mode:Integer read FMode Write SetFMode;
end;
procedure TXXXPropertyForm.SetFMode(const Value:Integer);
begin
FMode:=Value;
if Mode=0 // Добавляем новый экземпляр
begin
/// Забиваем все контролы значениями по-умолчанию
end;
if Mode=1 // Редактируем существующий экземпляр
begin
/// Забиваем все контролы значениями из Набора Данных
end;
end;
← →
Sandman25 © (2006-03-29 12:25) [7]Ega23 © (29.03.06 12:16) [6]
Замени Integer на TWorkMode = (wmNew, wmEdit,...).
← →
Ega23 © (2006-03-29 12:41) [8]
> Замени Integer на TWorkMode = (wmNew, wmEdit,...).
Это уже несущественно. В конечном итоге тот же ineger получится.. :о)
Здесь сама суть важна.
Хочу редактировать - создал форму, Mode=1, ShowModal.
Хочу добавить - то же самое, только Mode=0
Да, в обработчике btnOkClick запускаю функцию проверки на "дурака", далее анализирую значение Mode (соответствующий параметр в ХП), и уже после всего этого ModalResult=mrOK.
← →
Sandman25 © (2006-03-29 14:51) [9]Ega23 © (29.03.06 12:41) [8]
Существенно. Мне досталось сопровождение старого проекта. Слышал бы ты мои эпитеты в адрес разработчика, в сотнях мест использующего if WorkMode = 1 then и т.д.
И, как и ты, он даже else не использовал, не говоря уже о case. Ты случайно в Кишиневе не работал? :)
← →
Ega23 © (2006-03-29 14:53) [10]
> Ты случайно в Кишиневе не работал? :)
Нет, даже не был... :о)
А насчёт Mode=1 - это не я изобрёл, это общий стиль нашей команды, так у нас в группе все пишуть... :о)
Так что за введение такого типа меня по голове не погладють... :о)
← →
Sergey13 © (2006-03-29 15:09) [11]2Kerk © (29.03.06 11:28)
>Но проблема в том, что пользователь может быть введен в заблуждение тем, что нажав "Отмена" в этой форме уже после создания, он как бы может отменить создание объекта, но на самом деле он лишь отменит редактирование параметров.
Обзови кнопку более информативно. Например "Отмена создания". После создания смени на "Отмена редактирования". И всех делов. 8-)
← →
Sandman25 © (2006-03-29 15:12) [12]Ega23 © (29.03.06 14:53) [10]
Понятно. Хоть бы константы завели, вроде WM_NEW = 1 :)
← →
iZEN © (2006-03-30 11:47) [13]http://gui.ru/
← →
DiamondShark © (2006-03-30 12:03) [14]Если этот объект такой хитрый, то я бы оставил две формы: создание в стиле "визард" и просмотр в виде "странички свойств".
А группы атрибутов можно сгруппировать во фреймы и реюзать.
Вот... как-то примерно так.
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2006.04.23;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.014 c