Thema: Delphi Menu Hintergrundbild

Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#6

AW: Menu Hintergrundbild

  Alt 30. Aug 2016, 20:40
Ich nochmal ..

Irgendwo habe ich noch ein Problem.
Habe mal ein test Projekt in VB zum testen erstellt.

Ich erstelle ein Image..

Code:
Call GdipCreateFromHDC(Me.hdc, graphics)

Call GdipLoadImageFromFile(StrConv(App.path & "\GrapeBunch.jpg", vbUnicode), img)
Call GdipGetImageHeight(img, lngHeight)
Call GdipGetImageWidth(img, lngWidth)
Call GdipDrawImageRectRectI(graphics, img, 10, 10, picGrapes.Width, picGrapes.Height, 0, 0, lngWidth, lngHeight, UnitPixel)
So weit so gut.
Das Image wird auf die richtige Größe Skaliert.

Jetzt habe ich ein Menü den will ich dieses Bitmap als Hintergrundbild zuweisen.
Das geht aber nur über die Items.
Ein Item ist 20x hoch.

Jetzt erstelle ich zum testen ein 2 Graphics Objekt.
Code:
Call GdipCreateFromHDC(picGrapes.hdc, graphics2)

Call GdipGetImageHeight(img, lngHeight)
Call GdipGetImageWidth(img, lngWidth)
Call GdipSetInterpolationMode(graphics2, InterpolationModeHighQualityBicubic)

For i = 0 To 9
  Call GdipDrawImageRectRectI(graphics2, img, 0, (i * 20), picGrapes.Width, 20, 0, 20 * i, lngWidth, 20, UnitPixel)
Next

Das Problem ist aber nun das die Dimensionen nicht gleich dem vom ersten Image sind.
Siehe Anhang..

Ich kann die höhe picGrapes.Height nicht setzen siehe (i * 20) die Y Position des aktuellen Menu Item.
Wo liegt mein Denkfehler bzw.. etwas vergessen?

Image Vorschau

gruss
  Mit Zitat antworten Zitat