AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Programmsymbol aus ListBox in TImage laden?

Ein Thema von Johnny Bravo · begonnen am 15. Jun 2008 · letzter Beitrag vom 17. Jun 2008
Antwort Antwort
Seite 1 von 3  1 23      
Johnny Bravo

Registriert seit: 7. Jun 2008
75 Beiträge
 
#1

Programmsymbol aus ListBox in TImage laden?

  Alt 15. Jun 2008, 02:06
Hi,
hab folgendes Problem.

ich lade ein Programm in eine Listbox, und per klick auf einen Button wird es gestartet via ShellExecute.

Ich habe auf dem Formular ein TImage platziert, das das entsprechende Programmsymbol anzeigen soll, welches ausgewählt ist.

Wie bekomme ich das hin?


Danke schonmal im vorraus.
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#2

Re: Programmsymbol aus ListBox in TImage laden?

  Alt 15. Jun 2008, 03:05
Hallo,
damit könnte es gehen. Hab um die Uhrzeit aber nicht mehr dne Nerv dazu es zu testen
  Mit Zitat antworten Zitat
Johnny Bravo

Registriert seit: 7. Jun 2008
75 Beiträge
 
#3

Re: Programmsymbol aus ListBox in TImage laden?

  Alt 15. Jun 2008, 10:33
danke, klappt leider nicht. bekomme die fehlermeldung das die Variable 'Icon' zwar deklariert würde aber nie benutzt in ShellExecuteMessage....?

Delphi-Quellcode:
procedure TForm2.Button3Click(Sender: TObject);
var
  TempIcon: HICON;
  Icon:TIcon;
begin
     openDialog := TOpenDialog.Create(self);
     openDialog.InitialDir := GetCurrentDir;
     openDialog.Options := [ofFileMustExist];
     openDialog.Filter := 'Anwendungen|*.exe;*.com';
     openDialog.FilterIndex := 0;

  if openDialog.Execute then

    begin
         TempIcon := IconFromFile(OpenDialog1.FileName,0);
    if (TempIcon <> 0) then

    begin
        Icon:=TIcon.Create;
      Try
        Icon.Handle := TempIcon;
        Icon.SaveToFile('c:\Merke.ico');
      With Image1.Canvas Do
        DrawIconEx(Handle, 0, 0,TempIcon, 16, 16, 0, Brush.Handle, di_Normal);
      Finally
        Icon.Free;
      End;
    end;
       Form4.Show;
  end;
 end;
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Programmsymbol aus ListBox in TImage laden?

  Alt 15. Jun 2008, 10:50
Das sollte aber nur ein Hinweis und kein Fehler sein. Sonst Zeichne Icon statt TempIcon
Markus Kinzler
  Mit Zitat antworten Zitat
Johnny Bravo

Registriert seit: 7. Jun 2008
75 Beiträge
 
#5

Re: Programmsymbol aus ListBox in TImage laden?

  Alt 15. Jun 2008, 13:11
Habs mal mit folgendem code versucht, welcher leider nicht funktionert - compiliert wird das programm trotzdem fehlerfrei. Aber ein Icon bekomme ich bei TImage nicht angezeigt.

Delphi-Quellcode:
procedure TForm2.Button3Click(Sender: TObject);
 var IconIndex : Integer;
    h : hIcon;
    S : String;
    Icon : TIcon;
    Bitmap : TBitmap;
begin
     openDialog := TOpenDialog.Create(self);
     openDialog.InitialDir := GetCurrentDir;
     openDialog.Options := [ofFileMustExist];
     openDialog.Filter := 'Anwendungen|*.exe;*.com';
     openDialog.FilterIndex := 0;

  if openDialog.Execute then

begin
     Icon := TIcon.Create;
     IconIndex := 0;
     S := ExtractFileName(OpenDialog1.FileName);
     h := ExtractIcon(0,PAnsiChar(S),IconIndex);
     Icon.Handle := h;
     ImageList1.AddIcon (Icon);
   try
    ImageList1.GetIcon(0, Icon);
    Image1.Canvas.Draw(0, 0, Icon);
  finally
    FreeAndNil(Icon);
  end;
end;
     Form4.Show;
  end;
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.541 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Programmsymbol aus ListBox in TImage laden?

  Alt 15. Jun 2008, 13:15
Könnte das an der ZeileS := ExtractFileName(OpenDialog1.FileName); liegen?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Johnny Bravo

Registriert seit: 7. Jun 2008
75 Beiträge
 
#7

Re: Programmsymbol aus ListBox in TImage laden?

  Alt 15. Jun 2008, 13:27
sorry, ich steh gerade auf dem schlauch. Inwiefern meinst du das?
Normalerweise müsste der doch das symbol aus der *.exe holen,das ich mit dem Öffnen Dialog einlese, oder nicht?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Programmsymbol aus ListBox in TImage laden?

  Alt 15. Jun 2008, 13:27
Ja aber warum entfernst du den Pfad?
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.541 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: Programmsymbol aus ListBox in TImage laden?

  Alt 15. Jun 2008, 13:28
Aber mit ExtractFileName löschst Du den Pfad ja raus.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Johnny Bravo

Registriert seit: 7. Jun 2008
75 Beiträge
 
#10

Re: Programmsymbol aus ListBox in TImage laden?

  Alt 15. Jun 2008, 13:41
Hm....stimmt. Wie lautet denn dann die richtige Bezeichnung?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz