Форум: "Основная";
Текущий архив: 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