Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

component [D5]


race1 ©   (2002-07-01 13:00:00) 

как состряпать компонент listbox без визуальных средств листбокса, например, рамочки... но что бы это был листбох


Игорь Шевченко   (2002-07-02 10:01:00) [1]

Рамочка вокруг Item"ов убирается переписанной процедурой
procedure CNDrawItem(var Message: TWMDrawItem); message CN_DRAWITEM;
у наследника ListBox"а


race1   (2002-07-02 07:28:00) [2]

всё, я решил етот вопрос путём написания функции
ondrawitem, мне нравится (как ето ни странно но
paintdogex в справке нету... интересно, почему:) но теперь другой вопрос - как убрать рамочку вокруг итемов, она мне не нравитса?


Fiend   (2002-07-01 16:58:00) [3]

Очевидно для того чтобы научиться пользовать недокументированную функцию PaintDogEx(DC : HDC; ...).
Тока жаль вы не все параметры к ней указали
:)


Sasha9   (2002-07-01 16:51:00) [4]

если есть желание, то можно делать потомка от TGraphic или от TGraphicControl, добавив свойство типа TStrings (или TStringList) и сомому всё прорисовать


Игорь Шевченко   (2002-07-01 16:51:00) [5]

race1 (01.07.02 16:44)

Здесь даже WinApi не поможет. Зачем надо имитировать ListBox полностью своим ?


race1   (2002-07-01 16:44:00) [6]

имеется в виду что бы полностью своё сделать, полностью
самому всё нарисовать, но что б сущность бокса
осталась... Только ВинАпи? Всякие крете свои?


Игорь Шевченко   (2002-07-01 14:03:00) [7]

Opuhshii (01.07.02 13:22)

Собаку - только через WM_PAINT :-)

Используя недокументированную функцию PaintDogEx(DC : HDC; ...)


Opuhshii   (2002-07-01 13:22:00) [8]

2Игорь Шевченко © (01.07.02 13:14)
"например, рамочки... ", а если _например_ рисовать " собаку "?


Игорь Шевченко   (2002-07-01 13:14:00) [9]

Opuhshii (01.07.02 13:11)

Обычно (для ListBox, по крайней мере) делают через WM_DRAWITEM.
А стили (WS_BORDER или его отсутсвие) задают при создании окна, перекрывая метод CreateParams. Или в процессе, через Get/SetWindowLong


Opuhshii   (2002-07-01 13:11:00) [10]

, а при WM_PAINT можно таких наворотить,.. %) и не только с рамочкой,.. имхо так обычно и делают,..


Skier   (2002-07-01 13:07:00) [11]

> race1
Если без рамочки то сделай BorderStyle := bsNone и будет
тебе счастье.

А вообще я присоединяюсь к Игорю Шевченко...


Игорь Шевченко   (2002-07-01 13:04:00) [12]

Если нечто выглядит, как собака, лает, как собака и кусается, как собака, то это, очевидно, и есть собака ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо