![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
![]() вот код отрисоки
Код:
PngIcon:=TPngImage.Create; if odSelected in State then begin CheckListBox4.Canvas.Brush.Color:=RGB(255,119,227); CheckListBox4.Canvas.Font.Color:=ClBlue; end ELSE begin CheckListBox4.Canvas.Brush.Color:=CheckListBox4.Color; CheckListBox4.Canvas.Font.Color:=clPurple; end; CheckListBox4.ItemHeight:=20; CheckListBox4.Canvas.Font.Size:=12; CheckListBox4.Canvas.TextOut(Rect.Left,Rect.Top,DynamicLangSaveLang[index]); if (Length(ParamIconSaveLang[index])>0)and(ParamIconSaveLang[index]<>'...') then begin PngIcon.LoadFromFile(ExtractFileDir(Application.ExeName)+ParamIconSaveLang[index]); CheckListBox4.Canvas.Draw(Rect.Left+150,Rect.Top+3,PngIcon); end; PngIcon.Free; В масиве DynamicLangSaveLang хранятся тексты в PngIcon будет находится иконка в формате png Вот скрин ![]() 1) Почему остается рамка выделения и как это исправить 2) Как эти числа получить програмно Rect.Left+150,Rect.Top+3 CheckListBox4.ItemHeight:=20; чтобы после изменения размеров шрифта менялась и отрисовка а также иконки были сразу после текста а не в пол метре от него |
#2
|
||||
|
||||
![]() 1. сам же меняешь цвет в if odSelected in State then ... Color:=clPurple;
2. вместо 150 задай меньше отступ Пишу программы за еду. __________________ |
#3
|
||||
|
||||
![]() Цитата:
Я не про это а про желтые контуры. которые никак не хотят убераться при стандартном стиле Windows Цитата:
Я спросил Как эти числа получить програмно Rect.Left+150,Rect.Top+3 CheckListBox4.ItemHeight:=20; чтобы после изменения размеров шрифта менялась и отрисовка а также иконки были сразу после текста а не в пол метре от него Последний раз редактировалось AlexandrV, 02.08.2013 в 10:25. |
#4
|
||||
|
||||
![]() Почему такие баги может ктонибудь ответит но баги 100% не из за этого
Код:
if odSelected in State then begin CheckListBox4.Canvas.Brush.Color:=RGB(255,119,227); CheckListBox4.Canvas.Font.Color:=ClBlue; end ELSE begin CheckListBox4.Canvas.Brush.Color:=CheckListBox4.Color; CheckListBox4.Canvas.Font.Color:=clPurple; end; Если это убрать все равно остается |
#5
|
||||
|
||||
![]() Пишу программы за еду. __________________ |
#6
|
||||
|
||||
![]() Ну и как ты это сделал. Дай код. врядли ктонибудь сможет вернуть код из бинарного состояния. это в принципе невозможно
|