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

Вниз

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

 
Alibaba ©   (2004-10-25 12:47) [0]

Уважаемые господа,
Такая ситуация:
Есть lbListSQL: TListBox, в нем три елемента.

Если Style поставить lbStandard,
то, если выбрать второй елемент lbListSQL
а потом lbListSQL потеряет фокус, второй елемент останется выбранным.

Если Style поставить lbOwnerDrawFixed,
то, если выбрать второй елемент lbListSQL
а потом lbListSQL потеряет фокус -
не будет выбранных елементов.

------------------------------------------------

Некоторые елементы lbListSQL я закрашиваю в определенный цвет.
Для закраски необходимо Style:=lbOwnerDrawFixed.

Но при этом, когда lbListSQL теряет фокус я не вижу какой  елемент был выбран.

------------------------------------------------
Вопрос:
Как сделать что-бы можно было некоторые елементы lbListSQL закрашивать в определенный цвет и при этом, когда lbListSQL теряет фокус я хочу видеть какой елемент был выбран?


 
Rem ©   (2004-10-25 13:27) [1]

Приведите код прорисовки.


 
Alibaba ©   (2004-10-25 14:00) [2]

//Рисуем список SQL-запросов.
//Те, которые выгружают в Excel - зеленым цветом
procedure TfrmMain.lbListSQLDrawItem(Control: TWinControl; Index: Integer;
 Rect: TRect; State: TOwnerDrawState);
var s: string;
begin
with TListBox(Control).Canvas do
 begin
  s:=TListBox(Control).Items[Index];
  if stExcel.IndexOf(s) > -1 then Brush.Color:=clMoneyGreen
  else Brush.Color:=clWhite;
  Font.Color:=clBlack;
  FillRect(Rect);
  TextOut(Rect.Left + 2, Rect.Top, (Control as TListBox).Items[Index]);
 end;
end;


 
Мирон ©   (2004-10-25 14:20) [3]

Alibaba ©   (25.10.04 14:00) [2]
а если добавить в конце:

if (FocusControl <> Control) and (TListBox(Control).ItemIndex = Index)
then TListBox(Control).Canvas.DrawFocusRect(Rect)


 
Мирон ©   (2004-10-25 14:23) [4]

Alibaba ©   (25.10.04 14:00) [2]
дико извиняюсь

if (ActiveControl <> Control) and (TListBox(Control).ItemIndex = Index)
then TListBox(Control).Canvas.DrawFocusRect(Rect)


 
Alibaba ©   (2004-10-25 14:34) [5]

Мирон ©   (25.10.04 14:23) [4]

Стало работать, но не всегда.
Когда фокус получает TMemo - не работает.


 
Alibaba ©   (2004-10-26 11:37) [6]

Народ, подсобите, плиз.
Очень важный момент.

lbListSQL: TListBox содержит список SQL-запросов,
memSQL: TMemo содержит текст запросов.

Кликаю на елемент lbListSQL - в memSQL появляется запрос.
Я иду в memSQL если необходимо редактировать.
При этом в списке запросов (lbListSQL)
видно какой запрос сейчас обрабатывается.

Некоторые запросы особенные.
Я хочу их выделить в списке.

Если выделять строку с определенным запросом
в lbListSQL необходимо Style:=lbOwnerDrawFixed
при этом, когда lbListSQL теряет фокус
(я иду в memSQL редактировать)
НЕ ВИДНО какой запрос сейчас обрабатывается.

Как решить проблему?.
Подскажите, очень надо.


 
Мирон ©   (2004-10-28 00:56) [7]

Alibaba ©   (26.10.04 11:37) [6]
Ну или рисовать фон активного айтем"а третьим цветом, если рамочкой не получается. Типа:

if lbListSQL.ItemIndex = Index
then lbListSQL.Canvas.Color := clHighLight
else ...



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

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

Наверх




Память: 0.46 MB
Время: 0.031 c
6-1094494684
pkm
2004-09-06 22:18
2004.11.14
Net.exe


1-1098645916
CoolMan
2004-10-24 23:25
2004.11.14
Копирование n-ое кол-во файлов в один


14-1098558826
CPUz80
2004-10-23 23:13
2004.11.14
Работа процессов в WIN32.


1-1099303347
Ш-К
2004-11-01 13:02
2004.11.14
Объединение двух XML


3-1098063832
sanek
2004-10-18 05:43
2004.11.14
как создать таблицу с полем memo для внесения туда текстовых данн





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