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

Вниз

Выделение в ComboBoxEx   Найти похожие ветки 

 
ggg   (2007-09-24 09:09) [0]

Проблема в том, что при выборе элемента в выпадающем списке, активная строка выделяется не полностью, а только на длину текста в ней. Пробывал перекрывать процедуру рисования элементов - не получилась, видимо там событие отличное от аналогичного в ComboBox. Может быть есть простое решение (свойство вроде FULLROWSELECT) или кто подскажет какое событие надо обрабатывать, чтобы самому нарисовать элементы?


 
Вася Правильный   (2007-09-24 11:19) [1]


>  активная строка выделяется не полностью

и что в этом криминального? стандартное поведение


 
Leonid Troyanovsky ©   (2007-09-24 11:45) [2]


> Вася Правильный   (24.09.07 11:19) [1]

> и что в этом криминального? стандартное поведение

Видимо, имелся ввиду выпадающий список.

> ggg   (24.09.07 09:09)

Что за компонент и почему б не взять стандартный?

--
Regards, LVT.


 
Вася Правильный   (2007-09-24 12:07) [3]


> почему б не взять стандартный?

да он и есть стандартный в семерке


 
ggg   (2007-09-24 12:27) [4]

> Вася Правильный   (24.09.07 11:19) [1]
>>  активная строка выделяется не полностью

>и что в этом криминального? стандартное поведение

Абсолютно так же считаю, но заказчику не нравится, что стиль оформления простых выпадающих списков, отличается от стиля списков с картинками.

> Leonid Troyanovsky ©
Это стандартный компонент - TComboBoxEx. Более того, за его отрисовку отвечает не VCL, а система, почему и не получается просто переделать стандартный :(


 
Вася Правильный   (2007-09-24 12:35) [5]

так поступи наоборот - используй обычный комбо со своейотрисовкой рисунков


 
ggg   (2007-09-24 13:19) [6]

Боюсь, это уже не вариант, хотят именно выделение всей строки ;)


 
Lacmus ©   (2007-09-24 13:20) [7]

>ggg   (24.09.07 09:09)  



unit Unit73;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, ComCtrls, ImgList;

type
 TMyComboBoxEx = class(TComboBoxEx)
   procedure WMDrawItem(var aMessage: TWMDrawItem); message WM_DRAWITEM;
 end;

 TComboBoxEx = class(TMyComboBoxEx);

 TForm73 = class(TForm)
   ComboBoxEx1: TComboBoxEx;
   ComboBox1: TComboBox;
   ImageList1: TImageList;
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form73: TForm73;

implementation

{$R *.dfm}

procedure TMyComboBoxEx.WMDrawItem(var aMessage: TWMDrawItem);
var
 bFocused: Boolean;
 Brush: HBrush;
begin
 with aMessage.DrawItemStruct^ do begin
   if (ItemState and ODS_COMBOBOXEDIT) = 0 then begin
     bFocused := itemAction = ODA_FOCUS;
     if bFocused then
       itemAction := ODA_SELECT;
     itemState := itemState and not ODS_FOCUS;
     if (itemState and ODS_SELECTED) <> 0 then
       Brush := CreateSolidBrush(ColorToRGB(clHighlight))
     else
       Brush := CreateSolidBrush(ColorToRGB(clWindow));
     try
       FillRect(hDC, rcItem, Brush)
     finally
       DeleteObject(Brush)
     end
   end else
     bFocused := False;
   inherited;
   if bFocused then
     DrawFocusRect(hDC, rcItem)
 end;
end;



 
ggg   (2007-09-24 13:59) [8]

> Lacmus ©  
Спасибо =)



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

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

Наверх




Память: 0.46 MB
Время: 0.047 c
2-1195557465
LikefNik
2007-11-20 14:17
2007.12.16
TRichEdit +BMP


15-1195087241
Саунд
2007-11-15 03:40
2007.12.16
асм в делфи


6-1175594631
vegarulez
2007-04-03 14:03
2007.12.16
Вопрос по HTTP и SSL.


2-1195311260
Dru095
2007-11-17 17:54
2007.12.16
как удалить файл с определенной датой создания


15-1195192823
MBo
2007-11-16 09:00
2007.12.16
Пятничные задачки. Вася Пупкин еще жив ;)





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