unit Unit7;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, XPBurn, ComCtrls, ImgList;
type
Tframebrennen =
class(TFrame)
pnlmenue: TPanel;
brenner: TXPBurn;
rgbrenner: TRadioGroup;
Button1: TButton;
gbdateien: TGroupBox;
lwdatei: TListView;
gbdatei: TGroupBox;
btnhinzufuegen: TButton;
btnloeschen: TButton;
open: TOpenDialog;
ilFilter: TImageList;
procedure FrameResize(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure btnhinzufuegenClick(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
implementation
uses Unit1, shlobj, shellapi;
{$R *.dfm}
procedure Tframebrennen.FrameResize(Sender: TObject);
begin
pnlmenue.Width := frmprogramm.Width - frmprogramm.pnlmenue.Width - 32;
pnlmenue.Height := frmprogramm.pnlmenue.Height;
end;
procedure Tframebrennen.Button1Click(Sender: TObject);
var
i: Integer;
begin
for i := 0
to brenner.DataRecorders.Count - 1
do
begin
rgbrenner.items.Add(brenner.DataRecorders.items[i].DisplayName);
end;
rgbrenner.ItemIndex := 0 ;
end;
procedure Tframebrennen.btnhinzufuegenClick(Sender: TObject);
var
icWork : TIcon;
sfWork : IShellFolder;
fiWork : TSHFileInfo;
groesse: DWORD;
groesse2:
String;
datei:
String;
begin
if open.Execute
then
begin
datei := open.FileName;
icWork := TIcon.Create;
try
lwdatei.Items.Add;
lwdatei.Items[lwdatei.Items.Count-1].Caption := datei;
SHGetFileInfo(
PChar('
*.'+datei),
0,
fiWork,
SizeOf(fiWork),
SHGFI_ICON
or
SHGFI_SMALLICON
or
SHGFI_USEFILEATTRIBUTES
);
//Hier den Code für die Grösse berechnen oder auslesen
icWork.Handle := fiWork.hIcon;
lwdatei.Items[lwdatei.Items.Count-1].ImageIndex := ilFilter.AddIcon(icWork);
finally
FreeAndNil(icWork);
end;
end;
end;
end.