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

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.023 c
15-1184780234
kami
2007-07-18 21:37
2007.08.19
Перенос системы с Raid массива на 1 винт


3-1177729512
vegarulez
2007-04-28 07:05
2007.08.19
Как в инзерт запихнуть селект?


15-1184930996
@!!ex
2007-07-20 15:29
2007.08.19
Ситуация с аварией.


15-1183992453
Megabyte
2007-07-09 18:47
2007.08.19
Delphi 7 and MSSQL 2005


2-1185350713
Боб
2007-07-25 12:05
2007.08.19
Компоненты из пакета deSound от www.droopyeyes.com