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

Вниз

ComboBox...   Найти похожие ветки 

 
First_May   (2002-11-26 10:49) [0]

Привет всем! Можно ли в ComboBox`е выводить строчки разными шрифтами?


 
Дмитрий К.К.   (2002-11-26 10:53) [1]

Можно. Прорисовывать самому.


 
Song   (2002-11-26 10:59) [2]

TComboBox.onDrawItem


 
Дмитрий К.К.   (2002-11-26 11:02) [3]

При включенном OwnerDraw


 
First_May   (2002-11-26 11:53) [4]

А пример, если можно...


 
Игорь Шевченко   (2002-11-26 12:38) [5]

Можно пример.
Program Files\Borland\Delphi\Demos\OwnerLst\*.*


 
First_May   (2002-11-26 14:30) [6]

В том то и дело, что там с ListBox, а мне надо бы с ComboBox...


 
VAleksey   (2002-11-26 14:32) [7]


> First_May © (26.11.02 14:30)

А в чем разница ?? Тип листа один и тот же.


 
First_May   (2002-11-26 14:44) [8]

Мне кажется, что там Canvas разный... По крайней мере, этот пример мне не помог...


 
Song   (2002-11-26 14:53) [9]

Одинаковый :)

TCanvas.Font.Color:=clRed например


 
First_May   (2002-11-26 15:48) [10]

Ну тогда, когда я делаю вот так (взял из примера Demos)

procedure TForm1.DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
begin
with Combo.Canvas do
begin
FillRect(Rect);
Font.Name := Combo.Items[Index];
Font.Size := 0; // use font"s preferred size
TextOut(Rect.Left+1, Rect.Top+1, Combo.Items[Index]);
end;
end;

то она ругается на FillRect(Rect); ...



 
Song   (2002-11-26 15:53) [11]

А как ругается-то?


 
Andrey007   (2002-11-26 15:55) [12]

Надо так:

TComboBox(Control).Canvas.FillRect(Rect);
with TComboBox(Control) do
begin
Font.Name := Items[Index];
Font.Size := 0; // use font"s preferred size
TextOut(Rect.Left+1, Rect.Top+1, Items[Index])
end;


 
Song   (2002-11-26 15:56) [13]

2Andrey007 (26.11.02 15:55)
>>with TComboBox(Control) do
Вовсе необязательно


 
Andrey007   (2002-11-26 15:57) [14]

Упс, забыл Canvas дописать перед Font и TextOut


 
First_May   (2002-11-26 18:00) [15]

То Andrey007 (26.11.02 15:55)
А у тебя это пример кода работает нормально???


 
First_May   (2002-11-27 09:08) [16]

Ну кто нибудь мне подскажит как сделать в ComboBox`е например третью строчку жирным шрифтом, а остальные обычным...


 
Song   (2002-11-27 09:36) [17]

Да ты достал... Неужели трудно сделать такую ерунду?

procedure TForm1.ComboBox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState);
begin
With TComboBox(Control),TComboBox(Control).Canvas Do
Begin
FillRect(Rect);
IF Index=2 then Font.Style:=[fsBold] else Font.Style:=[];
TextOut(Rect.Left+2,Rect.Top+2,Items[Index]);
End;
end;


 
Andrey007   (2002-11-27 10:10) [18]

У TComboBox"a свойство Style должно иметь значение csOwnerDrawFixed.


 
First_May   (2002-11-27 10:19) [19]

То Song © (27.11.02 09:36)
А ты сам проверял этот текст кода???? Он у тебя работает??? Я деляю тоже самое, и у меня ничего не происходит. И только поэтому и задал этот вопрос мастерам Delphi, надеясь на то, что они мне подскажут, а не будут писать "Да ты достал... "


 
First_May   (2002-11-27 10:21) [20]

То Andrey007 (27.11.02 10:10) - ОГРОМНОЕ СПАСИБО!!!


 
Song   (2002-11-27 10:21) [21]

>>А ты сам проверял этот текст кода???? Он у тебя работает???
Проверял. Всё работает!!! Обычно не проверяю. А вот для тебя проверил перед тем как писать в тред. Посмотри такжн сообщение Andrey007 (27.11.02 10:10). Конечно он не совсем прав: свойство TComboBox.Style может быть не только csOwnerDrawFixed, оно может быть csOwnerDrawVariable


 
Song   (2002-11-27 10:24) [22]

>>То Andrey007 (27.11.02 10:10) - ОГРОМНОЕ СПАСИБО!!!
А ты хэлпом пользоваться умеешь?

Occurs when an item in an owner-draw combo box needs to be displayed.

property OnDrawItem: TDrawItemEvent;

Description

Write an OnDrawItem event handler to draw the items in the drop-down list of an owner-draw combo box. An OnDrawItem event handler can add graphic elements to the list items, or replace the list item text by graphics.

[b]Draw the items on the Canvas using the coordinates provided by the Rect parameter. OnDrawItem occurs only if Style is set to csOwnerDrawFixed or csOwnerDrawVariable.[/b]

If an OnDrawItem event handler is not provided, the combo box fills the Rect parameter with the current brush and writes the text value of the item specified by the Index parameter.

Тебе уже три готовых решения привели, а ты так и недосужился заглянуть в хэлп, идиот!!!!

2ALL: Sorry, я просто не сдержался. Таких недоумков первый раз вижу.


 
First_May   (2002-11-27 11:16) [23]

То Song © (27.11.02 10:24)
А ты наверное действительно "МАСТЕР", но только неизвестно по чем. Сайт сделан для "передачи" ОПЫТА разработки прогрмамм, а не для РУГАНИ. По моему, я тебе ничего плохого не сделал, что бы ты мне говорил такие слова... Иногда надо думать прежде чем говорить!


 
Игорь Шевченко   (2002-11-27 12:13) [24]

First_May © (27.11.02 11:16)

http://ln.com.ua/~openxs/articles/smart-questions-ru.html - читать наизусть.


 
Sirim   (2002-11-27 15:11) [25]

Здравствуй First_May!!!
У меня к тебе небольшая просьба, как я вижу мне нужен то, что ты делаешь. Т.е. я хотел попросить тебя, не мог бы выставить код программы, как правильно создать ComboBox c несколькими колонками (желательно на С++ или хотя бы на Delphi). И как правильно заполнять эти колонки.
Заранее спасибо.


 
Sirim   (2002-11-27 15:13) [26]

Здравствуй First_May!!!
У меня к тебе небольшая просьба, как я вижу мне нужен то, что ты делаешь. Т.е. я хотел попросить тебя, не мог бы выставить код программы, как правильно создать ComboBox c несколькими колонками (желательно на С++ или хотя бы на Delphi). И как правильно заполнять эти колонки. Извиняюсь за такую просьбу, но я только начинаю программировать.
Заранее спасибо.


 
Andrey007   (2002-11-27 16:13) [27]

IMHO, FAQ на этом сайте нужно сделать по компонентам. Вопрос, заданный First_May, задаётся здесь уже 10-й, если не 100-й раз.


 
Игорь Шевченко   (2002-11-27 16:18) [28]

А ... Demos глядеть - религия запрещает, FAQ тоже лень глядеть.



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

Форум: "Основная";
Текущий архив: 2002.12.09;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.5 MB
Время: 0.009 c
1-27991
pavel_ak
2002-11-29 14:21
2002.12.09
TOleContainer не хочет создавать объект


1-27914
Alathorne
2002-11-28 17:34
2002.12.09
Architect & Enterprise


4-28357
Ortigo
2002-10-27 18:14
2002.12.09
Как убрать окно чужой проги с экрана и таскбара?


6-28167
DmitryPV
2002-10-09 13:34
2002.12.09
Проблема с Socket-ами и NT4!


6-28190
acid_v
2002-10-11 18:25
2002.12.09
Как определить имя пользователя на удаленном компьютере ?..





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