|
@@ -5,7 +5,7 @@ unit DemoCombobox;
|
|
interface
|
|
interface
|
|
|
|
|
|
uses
|
|
uses
|
|
- Classes, SysUtils, System.UITypes, Fresnel.DOM, Fresnel.Controls,
|
|
|
|
|
|
+ Classes, SysUtils, System.UITypes, FPReadPNG, Fresnel.DOM, Fresnel.Controls,
|
|
Fresnel.Classes, FCL.Events, Fresnel.Events, fpCSSTree;
|
|
Fresnel.Classes, FCL.Events, Fresnel.Events, fpCSSTree;
|
|
|
|
|
|
type
|
|
type
|
|
@@ -47,6 +47,8 @@ type
|
|
+'.ComboboxCaptionLabel {'+LineEnding
|
|
+'.ComboboxCaptionLabel {'+LineEnding
|
|
+'}'+LineEnding
|
|
+'}'+LineEnding
|
|
+'.ComboboxCaptionIcon {'+LineEnding
|
|
+'.ComboboxCaptionIcon {'+LineEnding
|
|
|
|
+ +' width: 20px;'+LineEnding
|
|
|
|
+ +' height: 20px;'+LineEnding
|
|
+'}'+LineEnding
|
|
+'}'+LineEnding
|
|
+'.ComboboxMenu {'+LineEnding
|
|
+'.ComboboxMenu {'+LineEnding
|
|
+' position: absolute;'+LineEnding
|
|
+' position: absolute;'+LineEnding
|
|
@@ -70,7 +72,7 @@ type
|
|
public
|
|
public
|
|
CaptionDiv: TDiv;
|
|
CaptionDiv: TDiv;
|
|
CaptionLabel: TLabel;
|
|
CaptionLabel: TLabel;
|
|
- CaptionIcon: TLabel;
|
|
|
|
|
|
+ CaptionIcon: TImage;
|
|
Menu: TDiv;
|
|
Menu: TDiv;
|
|
Content: TDiv;
|
|
Content: TDiv;
|
|
constructor Create(AOwner: TComponent); override;
|
|
constructor Create(AOwner: TComponent); override;
|
|
@@ -86,6 +88,8 @@ type
|
|
|
|
|
|
implementation
|
|
implementation
|
|
|
|
|
|
|
|
+{$I DemoCombobox.inc}
|
|
|
|
+
|
|
{ TDemoCombobox }
|
|
{ TDemoCombobox }
|
|
|
|
|
|
procedure TDemoCombobox.SetItems(const AValue: TStrings);
|
|
procedure TDemoCombobox.SetItems(const AValue: TStrings);
|
|
@@ -169,6 +173,8 @@ begin
|
|
end;
|
|
end;
|
|
|
|
|
|
constructor TDemoCombobox.Create(AOwner: TComponent);
|
|
constructor TDemoCombobox.Create(AOwner: TComponent);
|
|
|
|
+var
|
|
|
|
+ aStream: TMemoryStream;
|
|
begin
|
|
begin
|
|
inherited Create(AOwner);
|
|
inherited Create(AOwner);
|
|
FItemIndex:=-1;
|
|
FItemIndex:=-1;
|
|
@@ -193,13 +199,22 @@ begin
|
|
Parent:=CaptionDiv;
|
|
Parent:=CaptionDiv;
|
|
end;
|
|
end;
|
|
|
|
|
|
- CaptionIcon:=TLabel.Create(Self);
|
|
|
|
|
|
+ CaptionIcon:=TImage.Create(Self);
|
|
with CaptionIcon do begin
|
|
with CaptionIcon do begin
|
|
Name:='CaptionIcon';
|
|
Name:='CaptionIcon';
|
|
- Caption:=#$E2#$8C#$84; // Down Arrowhead
|
|
|
|
|
|
+ //Caption:=#$E2#$8C#$84; // Down Arrowhead
|
|
CSSClasses.Add('ComboboxCaptionIcon');
|
|
CSSClasses.Add('ComboboxCaptionIcon');
|
|
Parent:=CaptionDiv;
|
|
Parent:=CaptionDiv;
|
|
end;
|
|
end;
|
|
|
|
+ aStream:=TMemoryStream.Create;
|
|
|
|
+ try
|
|
|
|
+ writeln('TDemoCombobox.Create ',ord(ArrowDownImage[1]),' ',length(ArrowDownImage));
|
|
|
|
+ aStream.WriteBuffer(ArrowDownImage[1],length(ArrowDownImage));
|
|
|
|
+ aStream.Position:=0;
|
|
|
|
+ CaptionIcon.Image.LoadFromStream(aStream);
|
|
|
|
+ finally
|
|
|
|
+ aStream.Free;
|
|
|
|
+ end;
|
|
|
|
|
|
Menu:=TDiv.Create(Self);
|
|
Menu:=TDiv.Create(Self);
|
|
with Menu do begin
|
|
with Menu do begin
|