Главная страница
    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.042 c
4-1172649288
Gavrila
2007-02-28 10:54
2007.08.19
CreateProcess на WinTS 2003 не могу запустить cmd-файл


15-1185175924
Nic
2007-07-23 11:32
2007.08.19
Нужно покупать хорошие блоки питания


2-1185130508
copron
2007-07-22 22:55
2007.08.19
GetNextItem


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


2-1185062910
NewZ
2007-07-22 04:08
2007.08.19
Как работать с геометрическими объектами?





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