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

Вниз

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 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.009 c
7-63415
nollie
2003-11-05 17:17
2004.01.20
asm


1-63147
Miwa
2004-01-07 07:27
2004.01.20
Сравнение сортированных списков.


1-63201
ИМХО
2004-01-10 05:09
2004.01.20
Системы счисления


14-63297
kaif
2003-12-27 03:32
2004.01.20
Что означает верить в себя?


7-63420
MAXHO
2003-10-25 14:49
2004.01.20
LPT-порт





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