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

Вниз

TKolRichEdit и TKolListBox   Найти похожие ветки 

 
Юрий   (2003-05-04 18:43) [0]

Кто использовал TKolRichEdit? Каким образом загрузить файл?
LoadFromFile прописан для TStrList, а такого свойства у TKolRichEdit вроде нет.

У TKolListBox событие OnClick происходит только после двойного клика, хотя вижу, что это контрол обладает и событием OnMouseDblClick.
Что сделать, чтобы отрабатывался код после одного клика?

Следующий код не работает (Runtime Error) после двойного клика.

procedure TSearchForm.KolListBox1Click(Sender: PObj);
var sl: TStrList;
begin
// В KolListBox1 - список имён файлов
if (KolListBox1.CurIndex < 0) then exit;
s := lRecs.Items[lRecs.CurIndex];
sl.LoadFromFile(s);
KolRichEdit1.Text := sl.Text;
end;


 
Юрий   (2003-05-04 18:49) [1]

Поправка в код (не полностью сменил имена контролов):

procedure TForm1.KolListBox1Click(Sender: PObj);
var sl: TStrList; s: String;
begin
if (KolListBox1.CurIndex < 0) then exit;
s := KolListBox1.Items[KolListBox1.CurIndex];
sl.LoadFromFile(s);
KolRichEdit1.Text := sl.Text;
end;


 
Nix   (2003-05-04 18:59) [2]


REdit.RE_LoadFromFile(Dialog.Filename,reText,false)

REdit.RE_SaveToFile(Dialog.Filename,reText,false);


 
Юрий   (2003-05-04 19:37) [3]

Совершенно не могу поменять ширину фонта у TKolRichEdit, какую цифру не ставлю в FontHeight, результат тот же, хотя загружен обычный текстовый файл.


 
Gandalf ©   (2003-05-05 13:53) [4]

Работает:

RichEdit2.RE_CharFmtArea:=raAll;
RichEdit2.RE_FmtFontSize:=720;


 
Юрий   (2003-05-05 14:49) [5]

Для чего же в "Object Inspector" свойство FontHeight помещён, если изменение этого свойства никак не влияет? Это баг?


 
Юрий   (2003-05-05 14:57) [6]

У TKolListBox событие OnClick кто-нибудь использовал? Срабатывает при двойном клике оно или при одинарном? У меня при двойном клике отрабатывает код. Чем же отличается это событие от OnMouseDblClick?


 
Gandalf ©   (2003-05-05 15:10) [7]


> Для чего же в "Object Inspector" свойство FontHeight помещён,
> если изменение этого свойства никак не влияет? Это баг?


Влияет, да и лень убирать (он есть у предка).


> У TKolListBox событие OnClick кто-нибудь использовал? Срабатывает
> при двойном клике оно или при одинарном? У меня при двойном
> клике отрабатывает код. Чем же отличается это событие от
> OnMouseDblClick?


Оба срабатывают при двойном клике - причем DblClick раньше, чем OnClick. Это не баг - это API.


 
Юрий   (2003-05-05 15:24) [8]


В "Object Inspector" RichEdit2.Font.FontHeight := 0;

RichEdit2.RE_LoadFromFile(lRecs.Items[lRecs.CurIndex], reText, False);
while (true) do begin
RichEdit2.Font.FontHeight := RichEdit2.Font.FontHeight+1;
( Int2Str(RichEdit2.Font.FontHeight) [8]

В "Object Inspector" RichEdit2.Font.FontHeight := 0;

RichEdit2.RE_LoadFromFile(lRecs.Items[lRecs.CurIndex], reText, False);
while (true) do begin
RichEdit2.Font.FontHeight := RichEdit2.Font.FontHeight+1;
MsgBox(Int2Str(RichEdit2.Font.FontHeight), 0);
end;

Этот код действительно меняет фонт, без него загруженный текст показывается с фонтом, который по умолчанию стоит, какой FontHeight в "Object Inspector" не ставлю.
В чём дело? Похоже это баг.


 
Юрий   (2003-05-05 15:26) [9]

"Оба срабатывают при двойном клике - причем DblClick раньше, чем OnClick. Это не баг - это API."

А как же в VCL сделали, чтобы при одинарном клике событие срабатывало? Не лучше ли, чтобы было как в VCL?


 
Юрий   (2003-05-06 14:27) [10]

"Оба срабатывают при двойном клике - причем DblClick раньше, чем OnClick. Это не баг - это API."

Следующий код на VBasic также срабатывает при одинарном клике, так при чём же здесь API в таком случае?

Private Sub ListBox1_Click()
Dim ...
...
End Sub

Почему в VCL и VBasic событие Click срабатывает при одинарном клике, а в KOL это требует двойного клика?



 
default ©   (2003-05-06 14:32) [11]

а то в исходнике Click-а посмотри


 
Юрий   (2003-05-06 18:05) [12]

default:
"а то в исходнике Click-а посмотри"

Времени не столь много, чтобы по исходникам разбираться. Коли КОЛ запускается из Дельфи, то всё-таки ожидаешь от Контролов такого же поведения как и в VCL, а оказывается, что кое-что сильно разнится.

Кстати Button.OnClick требует одинарного клика, почему же у ListBox.OnClick должно быть иначе?


 
Gandalf ©   (2003-05-06 22:07) [13]

Кладов посчитал, что для ListBox - Click и DblClick - это одно и тоже - и назначил, на них одно событаи - вотрое эквивалентно VCL.DblClick. При этом эквивалентом (послным это одно и тоже) VCL.Click - является, в случаи ListBox, SelChange.

> Времени не столь много, чтобы по исходникам разбираться.
> Коли КОЛ запускается из Дельфи, то всё-таки ожидаешь от
> Контролов такого же поведения как и в VCL, а оказывается,
> что кое-что сильно разнится.


Так старался делать я в своих компонентах, но дело в том, что VCL удобно, но не оптимально и в KOL порой жертвую удобством во имя оптимальности - потому возникают различия (KOL ближе к API).



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

Текущий архив: 2004.01.20;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.018 c
3-62989
ruslanyd
2003-12-23 17:26
2004.01.20
DisableControls и FastReport


1-63205
Ser_ega
2004-01-09 23:17
2004.01.20
Копия экрана!!!


11-63053
Crulex
2003-05-04 04:00
2004.01.20
SysDCU7, SysClasses


1-63100
Jenaxx
2004-01-08 01:19
2004.01.20
Как получить инфу о пользователе, всю ту что можно получить


3-62977
Pako
2003-12-24 10:06
2004.01.20
запрос