DrawAcquireComboListBoxItem
Declaration
procedure DrawAcquireComboListBoxItem(TheControl : TWinControl;
CanvasRect : TRect;
const sRawDeviceStr : string;
AnImageList : TCustomImageList = nil;
iScannerGlyph : Short = -1;
iCameraGlyph : Short = -1;
iDriveGlyph : Short = -1;
iDeviceGlyph : Short = -1;
iUnknownGlyph : Short = -1);
Description
If you use
FillListWithSources to fill a list box or combo box you can use this method to custom draw the item from the controls OnDrawItem event.
TheControl, CanvasRect are passed from the event parameters.
sRawDeviceStr will be TheControl.Items[Index].
If you have a TImageList containing glyphs then pass it as AnImageList and the index of each relevant glyph as iScannerGlyph, iCameraGlyph, iDriveGlyph and iUnknownGlyph.
See Also
◼FillListWithSources
// Draw with glyphs from a TImageList
procedure TMyForm.lbxSourcesDrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState);
const
Scanner_Glyph_Index = 0;
Camera_Glyph_Index = 1;
Drive_Glyph_Index = 2;
Device_Glyph_Index = 3;
Unknown_Glyph_Index = 4; // Probably a scanner
begin
// lbxSources Style has been set to lbOwnerDrawFixed
DrawAcquireComboListBoxItem(Control, Rect, lbxSources.Items[Index], imlDevices,
Scanner_Glyph_Index, Camera_Glyph_Index, Drive_Glyph_Index, Device_Glyph_Index, Unknown_Glyph_Index);
end;
// Draw source names only (no glyphs)
procedure TMyForm.lbxSourcesDrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState);
begin
// lbxSources Style has been set to lbOwnerDrawFixed
DrawAcquireComboListBoxItem(Control, Rect, lbxSources.Items[Index]);
end;