Am einfachsten geht es indem du eine Klasse für deine Drucker definierst und die Items Eigenschaft der Combobox benutzt. Dafür musst du die ToString() Methode in deiner Drucker Klasse überschreiben und eine sinnvolle Bezeichnung für deine Drucker zurückgeben. Wenn der Knopf gedrückt wird kannst du das selektierte Item anfragen (dein Drucker Objekt), das in deine Druckerklasse casten und damit weiterarbeiten.

Ich poste dir mal ein simples Programm als Beispiel. Dieses verwendet eine Combobox (combobox), einen Button (button) und ein Label (label).

using System;
using System.Collections.Generic;
using System.Windows.Forms;

namespace Combobox
{
public partial class Form1 : Form
{
public class Drucker
{
public string Name { get; set; }
public string IP { get; set; }
public string LableCaption => string.Format("{0} ({1})", Name, IP);
public Drucker(string Name, string IP)
{
this.Name = Name;
this.IP = IP;
}

public override string ToString()
{
return Name;
}
}

List DruckerListe;
public Form1()
{
InitializeComponent();
DruckerListe = new List();

DruckerListe.Add(new Drucker("Drucker A", "192.168.0.1"));
DruckerListe.Add(new Drucker("Drucker B", "192.168.0.2"));
DruckerListe.Add(new Drucker("Drucker C", "192.168.0.3"));
DruckerListe.Add(new Drucker("Drucker D", "192.168.0.4"));
DruckerListe.Add(new Drucker("Drucker E", "192.168.0.5"));
DruckerListe.Add(new Drucker("Drucker F", "192.168.0.6"));

comboBox.Items.AddRange(DruckerListe.ToArray());
}

private void button_Click(object sender, EventArgs e)
{
if (comboBox.SelectedItem is Drucker)
{
label.Text = ((Drucker)comboBox.SelectedItem).LableCaption;
}
}
}
}

viel Erfolg,

gruss dj

...zur Antwort

hi, das Handling von transparenten Bildern war in Delphi schon immer ein Problem. Es hängt von deiner Delphi Version ab, in wie weit Transparenz unterstützt wird.

Es gibt zB 32bit BMPs, welche einen Alpha-Channel, alsoTransparenz, unterstützen. Diese kann man in Delphi XE zwar nicht direkt im Objektinspektor auswählen, aber per Code einem Image zuweisen.

PNGs kann man mit Delphi XE im Objektinspektor für Images als Picture auswählen. Du hast dann wohl eine niedrigere Version. Wenn du ungebingt PNGs verwenden möchtest, könntest du versuchen eine Instanz der Klasse TPngImage zu erzeugen und dem Image zuzuweisen. Bei mir ist die in der unit Vcl.Imaging.pngimage zu finden. Sonst gibt es für deine Delphiversion sicher Free-Komponenten dafür.

Als letzte Möglichkeit bleibt dann nur noch, ein normales BMP zu verwenden. Beim Image machst du ein Haken bei "Transparent" im Objektinspektor und Delphi verwendet die Farbe welche sich beim Pixel 0,0 befindet als Transparenzfarbe.

ich hoffe ich konnte helfen, gruss dj

...zur Antwort

Ein Wrapper ist eine Klasse oder eine Methode, welche eine andere Methode oder Klasse kapselt. wrap = umschliessen.

Ich programmiere zB meistens Wrapper für komplizierte API-Methoden oder DLLs, damit ich nicht immer dieselbe komplizierte Logik programmieren muss.

Um zum Beispiel in Windows über die wininet.dll ein http Request zu machen, muss man ne Menge Code schreiben. Ich habe mir eine Wrapper-Methode httpGet geschrieben, welcher ich den URL übergeben und das result zurück bekomme.

...zur Antwort
Weitere Inhalte können nur Nutzer sehen, die bei uns eingeloggt sind.