![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как настроить RichEdit, чтобы он выглядел как Label ? Чтобы нельз [D5, WinME]
Кен © (2002-11-08 04:14:00)я было ничего выделить, скопировать, чтобы курсор не мерцал в виде палочки, чтобы текст не прокручивался. В общем как максимально приблизить к лэйблу ? Просто не хочется изобретать велосипед. Ведь наверняка кто то уже делал это.
SB (2002-11-09 15:50:00) [1]А я решал аналогичную задачу так: Enabled оставил в true, а сделал следующее:
TExtRichEdit = class(TRxRichEdit)
private
FDisabled: boolean;
public
property Disabled: boolean read FDisabled write FDisabled;
procedure WMLButtonDown(var Message: TWMLButtonDown); message WM_LBUTTONDOWN;
procedure WMLButtonUp(var Message: TWMLButtonUp); message WM_LBUTTONUP;
procedure WMLBUTTONDBLCLK(var Message: TMessage); message WM_LBUTTONDBLCLK;
procedure WMRButtonDown(var Message: TWMRButtonDown); message WM_RBUTTONDOWN;
procedure WMRButtonUp(var Message: TWMRButtonUp); message WM_RBUTTONUP;
procedure WMRBUTTONDBLCLK(var Message: TMessage); message WM_RBUTTONDBLCLK;
procedure WMSetCursor(var Message: TMessage); message WM_SetCursor;
procedure WMSetFocus(var Message: TMessage); message WM_SetFocus;
end;
{----}
procedure TExtRichEdit.WMLButtonDown(var Message: TWMLButtonDown);
begin
if not Disabled then inherited;
end;
procedure TExtRichEdit.WMLButtonUp(var Message: TWMLButtonUp);
begin
if not Disabled then inherited;
end;
procedure TExtRichEdit.WMLBUTTONDBLCLK(var Message: TMessage);
begin
if not Disabled then inherited;
end;
procedure TExtRichEdit.WMRButtonDown(var Message: TWMRButtonDown);
begin
if not Disabled then inherited;
end;
procedure TExtRichEdit.WMRButtonUp(var Message: TWMRButtonUp);
begin
if not Disabled then inherited;
end;
procedure TExtRichEdit.WMRBUTTONDBLCLK(var Message: TMessage);
begin
if not Disabled then inherited;
end;
procedure TExtRichEdit.WMSetCursor(var Message: TMessage);
begin
if not Disabled then inherited
else Message.Result := 1;
end;
procedure TExtRichEdit.WMSetFocus(var Message: TMessage);
begin
if not Disabled then inherited
else begin Windows.SetFocus(0); Message.Result :=0; end; {removes caret and disables selection}
end;
Николай Быков (2002-11-09 02:58:00) [2]Все я pass
Almaz (2002-11-09 02:57:00) [3]
> Кен (09.11.02 01:53)
> 2 Almaz ©
> От RichEdit1.Enabled := FALSE; цвет фона становится серым.
> И никак не изменяется больше. А цвет текста становится менее
> ярким. Как быть ?
И опять ответ не прост, а очень прост:
SetWindowLong(RichEdit1.Handle, GWL_STYLE, GetWindowLong(RichEdit1.Handle, GWL_STYLE) or WS_DISABLED);
Удачи.
Николай Быков (2002-11-09 02:20:00) [4]
> Кен (09.11.02 02:16)
Я тебе с самого начала сказал, что никак сделать нельзя. Чего тебе еще надо? Ну напиши свой компонент, чтобы он мог превращать себя в Label, если так уж хочешь.
Кен (2002-11-09 02:16:00) [5]Николай Быков
Если сказать по делу нечего, то нечего и писать ко мне.
Николай Быков (2002-11-09 01:57:00) [6]Вопрос:
> Кен (09.11.02 01:53)
Ответ:
НИКАК!
Кен (2002-11-09 01:53:00) [7]2 Almaz ©
От RichEdit1.Enabled := FALSE; цвет фона становится серым. И никак не изменяется больше. А цвет текста становится менее ярким. Как быть ?
Николай Быков (2002-11-08 05:14:00) [8]
> Almaz © (08.11.02 05:11)
Спасибо! А я когда хотел сделать такой Memo, то думал, что никак так не сделаешь
Almaz (2002-11-08 05:11:00) [9]
> Кен (08.11.02 04:14)
> я было ничего выделить, скопировать, чтобы курсор не мерцал
> в виде палочки, чтобы текст не прокручивался. В общем как
> максимально приблизить к лэйблу ?
RichEdit1.Enabled := FALSE;
RichEdit1.BorderStyle := bsNone;
Удачи.
Николай Быков (2002-11-08 04:41:00) [10]Вопрос:
> Как
Ответ:
НИКАК