Главная страница
    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.033 c
6-1094208842
ildar_kh
2004-09-03 14:54
2004.11.14
Перезагрузка фрейма


6-1094455430
ancara
2004-09-06 11:23
2004.11.14
API Доступ к расшаренным ресурсам


14-1098702718
}|{yk
2004-10-25 15:11
2004.11.14
Прикупил Creative SB Live! 5.1


14-1098797323
oldman
2004-10-26 17:28
2004.11.14
помогите, плиз...


14-1098383173
SviL
2004-10-21 22:26
2004.11.14
Хочу найти компоненты





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