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

Вниз

Список функций как в Delphi по Ctrl+Space   Найти похожие ветки 

 
___Nikolay   (2002-12-02 21:09) [0]

Скажите, пожалуйста, кто с этим сталкивался?
Как можно в списке ( TListBox) на одной строке писать разными
шрифтами
, как это сделали в Delphi:

слово function - синим цветом
слово var - малиновым
название функции - чёрным, шрифт полужирный
список параметров - чёрный, неполужирный
и т.д.


 
___Nikolay   (2002-12-02 21:28) [1]

Может они не список используют, а какой другой компонент? Например, RichEdit...
А как же с ним позволять выбирать, т.е. выделять, нужную строку?


 
Cobalt ©   (2002-12-02 21:37) [2]

См. TCustomListBox.OnMeasureItem


 
___Nikolay   (2002-12-02 22:08) [3]

Cobalt
Если можно - ПРИМЕРЧИК !!!

Мне нужно, чтобы на одной строке запись такого типа

function GetTextBuf(Buffer:PChar; BufSize:Integer):Integer;

была написана так:
1) Слово function - синим цветом
2) Слово GetTextBuf - чёрным цветом, полужирным шрифтом
3) Остальное - чёрным цветом, обычным неполужирным шрифтом


 
Cobalt ©   (2002-12-03 01:16) [4]

А самому? Я не работал в этой области, но имею общее представление. А вот тебе это интересно. Вот и изучай.
С уважением.


 
___Nikolay   (2002-12-03 09:47) [5]

ЛЮДИ!!! Может кто-нибудь уже делал что-нибудь подобное?


 
Song ©   (2002-12-03 10:03) [6]

Дык, а чего сложного-то?

TListBox.onDrawItem+csOwnerDrawFixed


 
Calm ©   (2002-12-03 11:05) [7]

Я написал такой компонент.
Но в нем есть несколько глюков. Точнее, не глюков, а две недоделки.
Если интересует - могу выслать

ЗЫ Ну глюки может тоже есть, сразу же не определишь :(


 
___Nikolay   (2002-12-04 05:37) [8]

Song
Опубликуй, пожалуйста, ПРИМЕР :)


 
___Nikolay   (2002-12-04 19:42) [9]

ВСЁ!!! ПОЛУЧИЛОСЬ!!! Спасибо всем, кто принимал участие в дискуссии :)

Если кого-то тоже волнует эта проблема - вот исходник (выводим картинку и надписи разными цветами для каждого элемента списка):

procedure TMainForm.lbDrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
VAR
Bitmap : TBitmap;
Offset : Integer;
BMPRect: TRect;
begin
WITH lb.Canvas DO BEGIN
FillRect(Rect);
Bitmap := TBitmap.Create;
Bitmap.Assign(li_Image.Picture);
Offset := 0;
if odSelected in State then
Brush.Color:=$00A47A55
else
Brush.Color:=clWhite;
FillRect(Rect);
IF Bitmap <> NIL THEN BEGIN
BMPRect := Bounds(Rect.Left+2, Rect.Top+2,
(Rect.Bottom-Rect.Top-2), Rect.Bottom-Rect.Top-2);
BrushCopy(BMPRect,Bitmap, Bounds(0, 0, Bitmap.Width, Bitmap.Height),
Bitmap.Canvas.Pixels[0, Bitmap.Height-1]);
Offset := (Rect.Bottom-Rect.Top+1)+5;
END;
Font.Style:=Font.Style+[fsBold];
TextOut(Rect.Left+Offset, Rect.Top+4, lb.Items[Index]);
if odSelected in State then
Font.Color:=clWhite
else
Font.Color:=clMaroon;
Font.Style:=Font.Style-[fsBold];
TextOut(Rect.Left+Offset, Rect.Top+4, " function ");
Bitmap.Free;
END;
end;



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

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

Наверх




Память: 0.48 MB
Время: 0.016 c
14-51950
Fantasist
2002-11-26 05:46
2002.12.16
Так, продолжим...


1-51808
kepten
2002-12-05 09:50
2002.12.16
Как неписать много if


7-51974
PycUS
2002-10-16 00:20
2002.12.16
После ввода текста нажимаем Enter и надо чтоб получился OnClick


3-51590
Jen N
2002-11-25 17:51
2002.12.16
Не могу создать резервную копию базы. (BDE)


1-51736
h_tray
2002-12-06 09:28
2002.12.16
Как pchar в string перевести