AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi SpeedButton ein Bitmap aus einer TImageList zuweisen
Thema durchsuchen
Ansicht
Themen-Optionen

SpeedButton ein Bitmap aus einer TImageList zuweisen

Ein Thema von Pseudemys Nelsoni · begonnen am 24. Dez 2002 · letzter Beitrag vom 28. Dez 2002
Antwort Antwort
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#1

SpeedButton ein Bitmap aus einer TImageList zuweisen

  Alt 24. Dez 2002, 21:04
moin,

bin noch ziemlich neu was das coden von delphi angeht...eher gesagt newb .

Also da ich nicht wusste wie ich meine BMP dateien in das projekt einfügen kann ohne sie nachher irgendwie von C:\bla laden zu müssen hab ich sie mir in die Timagelist eingefügt, nunja aber wie mach ich es z.b das wenn ich auf den speedbutton drücke das bild angezeigt wird das in der timagelist ist? ich hatte das so versucht:

 speedbutton1.glyph := timagelist1. ... nach dem "." wurde mir kein popup mit optionen angezeigt d.h es muss wohl ein fehler drin sein, wird ja unten auch gesagt, aber was ist daran falsch?
Mario
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#2
  Alt 24. Dez 2002, 21:18
Hier mal das Ergebnis meiner Suche in der Delphi-PRAXiS - siehe Suche am oberen Rand.

http://www.delphipraxis.net/viewtopi...ight=imagelist

BitBtn und SpeedButton sind in dieser Hinsicht übrigens gleich
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#3
  Alt 25. Dez 2002, 05:38
Delphi-Quellcode:
 
procedure TForm1.BitBtn1Click(Sender: TObject);
var
  Bmp: TBitmap;
begin
  Bmp := TBitmap.Create();
  try
    if ImageList1.GetBitmap(0, Bmp) then
      BitBtn1.Glyph.Assign(Bmp);
  finally
    Bmp.Free;
  end;
end;
so steht es da, aber kann mir den code wer erklären?. wie gesagt ich mach das ganze noch nicht lang und frag mich wieso das bild in eine variable muss wenn es doch einfacher gehen muss.....einfach aus der timagelist laden oder nicht? Und wieso ist 2 mal end; da wenn nur einmal begin auftaucht? und noch eine frage
meine timagelist spinnt irgendwie, egal welches bild ich einfüge der rechte rand(1 pxl) fehlt immerobwohl das bild ganz ist, weiss wer den grund?
Mario
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#4
  Alt 25. Dez 2002, 06:20
Zitat:
Und wieso ist 2 mal end; da wenn nur einmal begin auftaucht?
Weil es nicht nur begin end gibt, sondern auch try finally end bzw. try except end.
Der Code lässt sich aber auch einfacher darstellen:
Delphi-Quellcode:
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  ImageList1.GetBitmap(0, BitBtn1.Glyph);
end;
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#5
  Alt 25. Dez 2002, 08:40
ah danke, der code sihet mir schon einfacher aus

btw schnelle antworten hier das ist cool, in anderen foren warte ich mindestens ne woche
Mario
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#6
  Alt 28. Dez 2002, 09:58
hm wenn da kein bitmap in dem button ist und ich den button anklicke kommt das bitmap hinzu, aber wenn ich nen anderen button klicke das dem button der nun das bitmap enthält ein anderes bitmap zuweist klappt das nicht....muss ich das alte erst entfernen um das neue sehen zu können?
Mario
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#7
  Alt 28. Dez 2002, 11:10
Nimm doch mein Code, Copy&Paste ist ja nicht so schwer, oder? Kurze Erläuterung

Code:
procedure TForm1.BitBtn1Click(Sender: TObject);
var
  Bmp: TBitmap;
begin
  [color=#0000ff]// temporäre Bitmap erstellen[/color]
  Bmp := TBitmap.Create();
  [color=#0000ff]// Versuche...[/color]
  try
    [color=#0000ff]// das 1. (Position 0) Bitmap aus der ImageListe in das temporäre Bitmap zu laden[/color]
    if ImageList1.GetBitmap(0, Bmp) then
      [color=#0000ff]// Weise dieses jetzt dem BitBtn (oder SpeedButton) zu[/color]
      BitBtn1.Glyph.Assign(Bmp);
  [color=#0000ff]// abschließend, egal ob der Rest seit dem [b]try[/b] funktioniert hat[/color]
  finally
    [color=#0000ff]// lösche das temporäre Bitmap wieder, um den Speicher freizugeben[/color]
    Bmp.Free;
  end;
  [color=#0000ff]// fertig[/color]
end;
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#8
  Alt 28. Dez 2002, 11:24
ah, danke werds gleich mal probieren
Mario
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#9
  Alt 28. Dez 2002, 11:32
jep, geht, danke
Mario
  Mit Zitat antworten Zitat
Antwort Antwort


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 15:55 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