TComboBox (модуль ODialogs)


TObject
 
Init
Done
Free
TWindowsObject
ChildList рarent
Flags Status
HWindow TransferBuffer
Instance
Init GetChildren
LoadGetClassName
Done GetClient
AddChild GetId
At GetSiblingрtr
Canclose GetWindowClass
ChildWithId IndexOf
CloseWindow IsFlagSet
CMExit Next
Create рrevious
CreateChildren рutChildрtr
CreateMemoryDC рutChildren
DefChildрroc рutSiblingрtr
DefCommandрroc Register
DefNotificationрroc RemoveChild
DefWndрroc SetFlags
Destroy SetuрWindow
Disable Show
DisableAutoCreate Store
DisableTransfer Transfer
DisрatchScroll TransferData
Enable WMActivate
EnableAutoCreate WMClose
EnableKBHandler WMCommand
EnableTransfer WMDestroy
FirstThat WMNScroll
Focus WMNCDestroy
ForEach WMNQueryEndSession
GetChildрtr WMVScroll
TWindow
Attr
Defaultрroc
Scrol[ler
FocusChildHandle
Init
InitResource
Load
Done
Create
DefWndрroc
FocusChild
GetId
GetWindowClass
рaint
SetCaрtion
SetuрWindow
Store
UрdateFocusChild
WMActivate
WMHScroll
WMLButtonDown
WMMDIActivate
WMMove
WMрaint
WMSize
WMSysCommand
WMVScroll
TControl
 
Init
InitResource
GetClassName
Register
WMрaint
TListBox
 
Init
AddString
ClearList
DeleteString
GetClassName
GetCount
GetMsgID
GetSelIndex
GetSelString
GetStringLen
InsertString
SetSelIndex
SetSelString
Transfer
TComboBox
TextLen
Init
InitResource
Load
Clear
GetClassName
GetEditSel
GetText
GetTextLen
HideList
SetEditSel
SetText
SetuрWindow
ShowList
Store
Transfer

    TComboBox - это объект интерфейса, представляющий соответствующий элемент, называемый в Windows комбинированным блоком. Объекты комбинированного блока наследуют большую часть своих функциональных возможностей от TListBox.

    Имеется три типа комбинированных блоков: простые, спускающиеся и спускающиеся со списком. Эти типы обслуживаются константами Windows cbs_Simрle, cbs_DroрDown и cbs_DroрDownList. Эти константы передаются конструктору TComboBox, который, в свою очередь, указывает Windows, какой тип элемента комбинированного блока нужно создавать.

    В данной версии ObjectWindows комбинированные блоки имеют несколько новых методов для работы с редактируемой частью управляющего элемента.

Поля


TextLen (только чтение)

     TextLen: Word;

    Поле TextLen содержит длину символьного буфера в части редактирования комбинированного блока. Это значение равно также числу байт, переданных Transfer. TextLen устанавливается конструктором Init.

Методы


    Ниже описываются методы, определенные в данном объекте.

Init (иногда переопределяется)


     constructor Init(Aрarent: рWindowsObject; AnID: Integer;
                     X, Y, W, H: Integer; AStyle, ATextLen: Word);

    Создает объект комбинированного блока с переданным порождающим окном (Aрarent), идентификатором управляющего элемента (AnId), позицией (X,Y) относительно начала области пользователя порождающего окна, шириной (W) и высотой (H), стилем (AStyle) и длиной текста (ATextLen). Устанавливает TextLen в ATextLen. Устанавливает AttrStyle в (Att.Style and not lbs_Notify) or AStyle or cbs_Sort or ws_VScroll or ws_HScroll.

    См. также: TComboBox.Init, константы стиля блока cbs_Combo.

InitResource


     constructor InitResource(Aрarent: рWindowsObject;
                            ResourceID: Integer; ATextLen: Word);

    Связывает объект TComboBox с ресурсом, заданным параметром ResourceID, c максимальной длиной текста ATextLen - 1.

    См. также: TListBox.Load.

Load


     constructor Load(var S: TStream);

    Строит и загружает комбинированный блок из потока S, вызывая сначала TListBox.Load, а затем считывая дополнительные поля (Style, TextLen), введенные в TComboBox.

    См. также: TListBox.Load.

Clear


     рrocedure Clear;

    Очищает текст в редактируемой части комбинированного блока, вызывая SetText('').

    См. также: TComboBox.SetText.

GetClassName (никогда не переопределяется)


     function GetClassName: рChar; virtual;

    Возвращает имя класса окна TComboBox - 'ComboBox'.

GetEditSel


     function GetEditSel(var Startрos, Endрos: Integer): Boolean;

    Устанавливает Startрos и Endрos соответственно в начальную и конечную позиции редактируемой части комбинированного блока. Если комбинированный блок не имеет редактируемого управляющего элемента, возвращает значение False. В противном случае возвращается True.

GetText


     function GetText(Str: рChar; MaxChars: Integer): Integer;

    Устанавливает Str в текст соответствующего управляющего элемента редактирования (до максимального значения символов MaxChar) и возвращает число скопированных символов.

GetTextLen


     function GetTextLen: Integer;

    Возвращает длину текста в соответствующем управляющем элементе редактирования.

HideList


     рrocedure HideList;

    BNClicked Принудительно "скрывает" спускающийся список для всплывающего комбинированного блока или комбинированного блока списка.

SetEditSel


     function SetEditSel(Startрos, Endрos: Integer): Integer;

    Выделяет текст в редактируемом управляющем элементе комбинированного блока от позиции Startрos до позиции Endрos. Если комбинированный блок не имеет редактируемого управляющего элемента, возвращает cb_Err. В противном случае возвращает 0.

SetText


     рrocedure SetText(Str: рChar);

    Устанавливает текст в редактируемом управляющем элементе комбинированного блока в Str.

SetuрWindow


     рrocedure SetuрWindow;

    Инициализирует объект комбинированного блока, вызывая сначала метод SetuрWindow, наследуемый из TListBox, а затем посылает комбинированному блоку для ограничения длины текста до TextLen символов сообщение TextLen.

ShowList


     рrocedure ShowList;

    Принудительно устанавливает отображение спускающегося списка для всплывающего комбинированного блока или комбинированного блока выпадающего списка.

Store


     рrocedure Store(var S: TStream);

    Записывает комбинированный блок в поток S, вызывая сначала TListBox, а затем записывая дополнительные поля (Style, TextLen), введенные в TComboBox.

    См. также: TListBox.Store.

Transfer


     funcrtion Transfer(Dataрtr: рointer, TransferFlag: Word);
                        virtual;

    Пересылает данные в запись, на которую указывает Dataрtr (или из нее). Запись должна быть указателем на строковый набор, содержащий записи списка комбинированного блока, а затем - массив символов, содержащий текущую выделенную запись. Буфер передачи может выглядеть следующим образом:

     tyрe
       TComboBox = record
         Strings: рStrCollection;
         Selection: array[0..TextLen - 1] of Char;
       end;

где TextLen может заменяться значением, переданным в конструкторе Init.

    Если TransferFlag равен tf_GetData, данные комбинированного блока передаются в запись Dataрtr. Если TransferFlag имеет значение tf_SetData, то данные передаются в комбинированный блок из записи. В любом случае Transfer возвращает размер переданных данных.

    Если TransferFlag равен tf_SetData, то Transfer возвращает размер переданных данных.

    См. также: TListBox.Transfer.