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

Вниз

Эдит энабле:=фалсе, как сделать фонт цветом, как в труе?   Найти похожие ветки 

 
vegarulez ©   (2007-07-15 14:48) [0]

привет всем мастерам!
У меня такой вопрос, допустим на форме имеется эдит, когда он становится фалсе, меняется цвет текста немного, с чёрного, на несовсем чёрный, как сделать чтобы он даже когда фалсе был чёрным?


 
Kolan ©   (2007-07-15 15:00) [1]

> Эдит энабле:=фалсе, как сделать фонт цветом, как в труе?

Сделать Енэйбл Тру, и РидОнли = Тру.


 
vegarulez ©   (2007-07-15 17:50) [2]

не... так не канает... потому как едит мышкой мона выделить... а мне нужно, чтобы его нельзя было мышкой выделить....


 
vegarulez ©   (2007-07-15 18:02) [3]

ну или поканает как ты написал... но тогда как сделать чтоб мышой незя было эдит выделять?


 
Kolan ©   (2007-07-15 18:02) [4]

> а мне нужно, чтобы его нельзя было мышкой выделить&#133

Ну вот и не мучь пользователя, который за 15 лет уже привык, что если контрол недоступен, то он серый и текст в нем серый и не майся фигнёй.
Или опеши задачу полностью, возможно есть нормальное решение&#133


 
Kolan ©   (2007-07-15 18:09) [5]

> но тогда как сделать чтоб мышой незя было эдит выделять

Тут поподробее бы — что значит «выделять».


 
{RASkov} ©   (2007-07-15 19:04) [6]

> [0] vegarulez ©   (15.07.07 14:48)

Положи его (Эдит) на контейнер, а контейнеру делай Енабле=фалсе....(TPanel например).

> [2] vegarulez ©   (15.07.07 17:50)

Тебе нужен Label или лучше Статик с белым фоном....


 
antonn ©   (2007-07-15 19:16) [7]


> Тебе нужен Label или лучше Статик с белым фоном....

а как в нем привычным образом редактировать написанное?


 
{RASkov} ©   (2007-07-15 19:21) [8]

> [7] antonn ©   (15.07.07 19:16)
> > Тебе нужен Label или лучше Статик с белым фоном....
>
> а как в нем привычным образом редактировать написанное?


[0]> как сделать чтобы он даже когда фалсе был чёрным?

А здесь как? :) Не надо ему походу его редактировать привычным образом....
Только вместо белого фона, нужно clWindow.... у меня просто белый, а про других я не подумал... )


 
antonn ©   (2007-07-15 19:43) [9]


> {RASkov} ©   (15.07.07 19:21) [8]

не надо прикидываться, речь шла про Эдит %)


 
Zagaevskiy ©   (2007-07-15 20:14) [10]


>
> Положи его (Эдит) на контейнер, а контейнеру делай Енабле=фалсе.
> ...(TPanel например).

Самое правильное решение


 
{RASkov} ©   (2007-07-15 20:17) [11]

> не надо прикидываться, речь шла про Эдит %)

Ну я вообще-то и про Эдит рассказывал… :)

Можно конечно и, примерно, так "извернуться":
type
 TMyEdit = class(TEdit)
 private
   procedure WMPaint(var Message: TWMPaint); message WM_PAINT;
 end;
..........

procedure TMyEdit.WMPaint(var Message: TWMPaint);
var Cnv: TControlCanvas;
begin
 inherited;
 if not Enabled then begin
  Cnv:=TControlCanvas.Create;
  Cnv.Control:=Self;
  Cnv.Font.Assign(Font);
  Cnv.FillRect(ClientRect);
  Cnv.TextOut(1, 1, Text+" (disable)");
  Cnv.Free;
 end;
end;


 
Alal ©   (2007-07-16 21:14) [12]

а если так:

procedure TForm1.ApplicationEvents1Idle(Sender: TObject;
 var Done: Boolean);
begin
 if Form1.ActiveControl=Edit1 then Edit1.Enabled:=false
   else Edit1.Enabled:=true;
end;


 
Dib@zol ©   (2007-07-16 22:05) [13]

А мож поставить самопальный обработчик на WM_CTLCOLOREDIT? Если IsWindowEnabled(edit1.Handle)="фалсе", то рисуемся всёравно COLOR_WINDOW"ом и COLOR_WINDOWTEXT"ом.


 
evvcom ©   (2007-07-17 10:11) [14]


> Alal ©   (16.07.07 21:14) [12]

:-)
твой код записывается гораздо проще:
Edit1.Enabled := Form1.ActiveControl = Edit1;
учи булеву алгебру

> Самое правильное решение

Самое правильное - фигней не страдать, не сбивать никого с толку. Я иногда наоборот хочу, чтобы в задизэйбленном едите можно было текст выделить и в буфер. Вот тогда меняю ReadOnly и Color. Цвет шрифта оставляю как есть, т.е. черный, тогда видно, что от Enabled := False стиль отличается, и есть желание его щелкнуть тогда.


 
alal ©   (2007-07-17 21:22) [15]


> evvcom ©

Спасибо. Я раньше не знал, что так можно. Только
edit1.Enabled:=form1.ActiveControl<>edit1;
Тогда текст будет черным это именно то, чего хотел vegarulez ©.


 
vegarulez ©   (2007-07-20 07:32) [16]

Псп, попробую.



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

Форум: "Начинающим";
Текущий архив: 2007.08.19;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.052 c
3-1177566685
MZ
2007-04-26 09:51
2007.08.19
узнать количество суток между двумя датами в FireBird


15-1184881177
Германн
2007-07-20 01:39
2007.08.19
Из СИ в Паскаль


2-1184911598
Newser
2007-07-20 10:06
2007.08.19
Как в DateTimePicker-е установить вчерашнее число?


5-1159773491
Image
2006-10-02 11:18
2007.08.19
Событие OnTimer в созданном компоненте


3-1178180931
DmitrichJ
2007-05-03 12:28
2007.08.19
Инсталлер InterBase 6. Как создать?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский