Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.09.16;
Скачать: CL | DM;

Вниз

Чем можно заменить свойство Enabled?   Найти похожие ветки 

 
Abcdef123   (2007-08-20 05:01) [0]

Здравствуйте,Мастера.
У меня на форме панели и гроупбоксы,на них расположены элементы Tlabel, TDBEdit. И в одном из режимов задачи мне надо сделать компоненты одной панели и одного из гроупбоксов сделать недоступными (то есть только на чтение показать).Я делаю так для гроупбокса, и аналогично для панели
 for i:= 0 to pred(GBX_01.ControlCount) do begin
   GBX_01.Controls[i].Enabled:= False;
 end;
И все нормально, но уж очень все бледно выглядит, начальству не нравится.
Я подумала, что если сделать доступными элементы, и просто ReadOnly=True, но в том случае курсор будет по полям DBEdit проходить, а мне этого не надо. Что можно сделать вместо этого? Можно ли вообще что-то придумать в таком случае?
Заранее спасибо!


 
простой   (2007-08-20 08:57) [1]


> У меня на форме панели и гроупбоксы,на них расположены элементы
> Tlabel, TDBEdit

если все это на отдельной панели, то установи для этой панели Enabled в false и все будет Ок. Доступа к этим элементам не будет
> но уж очень все бледно выглядит, начальству не нравится

и начальству понравится.


 
Desdechado ©   (2007-08-20 10:40) [2]

> но уж очень все бледно выглядит, начальству не нравится
Вообще-то это стандартное поведение для отключеннных компонентов Windows. Какой смысл видеть то, что недоступно?
Пункты меню ты тоже не хочешь серыми видеть?


 
Игорь Шевченко ©   (2007-08-20 11:01) [3]


> но в том случае курсор будет по полям DBEdit проходить,
> а мне этого не надо


TabStop = false


 
Anatoly Podgoretsky ©   (2007-08-20 12:54) [4]


> И все нормально, но уж очень все бледно выглядит, начальству
> не нравится.

Хочешь запутать пользователей и от начальства дважды получить
1. что бледно
2. что путаешь пользователя


 
Abcdef123   (2007-08-21 05:04) [5]

Здесь в основном комментарии типа того, что дурью маюсь :-)
Поясняю. Эта форма доступна в 2х режимах - первый, когда для некоего пользователя доступны все компоненты на всех панелях и гроупбоксах для редактирования и введения информации. А во втором режиме некоторые панели (и компоненты) доступны для введения информации, а некоторые - только на простотр. То есть одна и та же запись таблицы, но не все поля доступны для редактирования. Поэтому вопрос-предложение Desdechado "Какой смысл видеть то, что недоступно?"  не подходит, ну как это не показать значение ключевых полей? То есть, к примеру, на форме заказ наряд со всеми данными, номер заказ-наряда, перечень работ и прочее, и вот механику (грубо говоря) доступно высветить эту информацию а ввести поля только по отметке даты, или комментария, что он сделал.
Надеюсь понятно объяснила зачем? :-)
Совет человека с ником "простой" сработало частично, то есть сработало только там, где надо сделать недоступной все элементы панели! И теперь я так и сделаю.Но, вот на одной панели мне надо сделать доступным один элемент, а все остальные недоступны. И поэтому я писала так
for i:= 0 to pred(PNL_Top.ControlCount) do begin
   PNL_Top.Controls[i].Enabled:= ((PNL_Top.Controls[i].Name = "DBLC_Status")  OR (PNL_Top.Controls[i].Name = "LBL_Status"));  
end;    
А если как по совету написать
 PNL_Top.Enabled := False;
 DBLC_Status.Enabled := True;
 LBL_Status.Enabled := True; - элементы не получаются доступными  :-(
То


 
Abcdef123   (2007-08-21 05:11) [6]

Извините, поспешила и ошибку сделала в последнем ответе PNL_Top.Enabled := False;, надо True
В общем, сработало предложение "простого" Спасибо!
И спасибо всем за отклики!!!! :-)


 
Abcdef123   (2007-08-21 05:16) [7]

опять поспешила :-((
Теперь на этой панели все коспонетны доступны, а мне так не надо :-( То есть не сработало в случае, когда объявляем панель недоступной, а следом пишем, следать доступным один их элементов этой панели, то и вся панель уже доступна. Может еще что-то можно придумать?


 
ASoft   (2007-08-21 07:08) [8]


> Abcdef123   (21.08.07 05:16) [7]

определиться, наконец, что нужно будет для доступа, а что нет.. И раскидать по разным панелям (G-Box"ам):)


 
Anatoly Podgoretsky ©   (2007-08-21 09:38) [9]

Те что только для просмотра или Enabled := False или ReadOnly := True
Первый метод предпочтительнее, поскольку пользователь сразу видит, что трогать не имеет смысла.



Страницы: 1 вся ветка

Текущий архив: 2007.09.16;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.017 c
2-1187705004
iXT
2007-08-21 18:03
2007.09.16
TToolBar


15-1187259332
Piter
2007-08-16 14:15
2007.09.16
Полетела Windows 2003 Server Datacenter Edition (eng)


11-1165878940
Turbid
2006-12-12 02:15
2007.09.16
KOL и темы XP


15-1185593474
MainClass
2007-07-28 07:31
2007.09.16
Помогите открыть свойство в классе?


15-1187576510
>>DEATH<<
2007-08-20 06:21
2007.09.16
распознование текста