Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.09.16;
Скачать: [xml.tar.bz2];

Вниз

Чем можно заменить свойство 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.044 c
15-1187353731
Megabyte
2007-08-17 16:28
2007.09.16
Компоненты JCL с Torry


15-1187613383
pasha_golub
2007-08-20 16:36
2007.09.16
SYN flood: как побороть?


2-1187848771
fd979
2007-08-23 09:59
2007.09.16
Проблема с цветами в ХР


2-1187609682
R.O.O.T
2007-08-20 15:34
2007.09.16
Вопрос!!!


15-1187267100
vlad_oshin
2007-08-16 16:25
2007.09.16
форум против компьютера . в шахматы.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский