| |
|
|
Georg Teles | Nabend,
(Ohje hatte es im Bug-Bereich des Forums gepostet vor einer Weile, wurde anscheinend nicht als Neu gekennzeichnet lol)
tut mir leid, dass ich störe, aber möglicherweise gibt es hier einen ?
Ein Beispielcode:
wenn das Icon-Handle positiv übergeben wird, ist das Ergebnis wie erwartet (Menü im Bild links zu sehen).
Aber wenn ich das Menü im Standard-Stil behalten möchte (Windows standard) muss ich lt. Beschreibung das Icon-Handle negativ übergeben. Nun gibt es 2 Probleme wie man im Bild rechts sieht: Das Icon bleibt in der Größe von 32x32 Pixel, auch wenn ich Single-Icons mit 16x16 px einsetze (das MenuIconSize hilft auch nicht).
Das andere Problem ist die Hintergrundfarbe des Icons beim Fokus, sie bleibt weiß.
Bug oder habe ich was überlesen ?
Servus |
|
|
| |
|
|
|
RGH | Die Set("Menu...",...)-Funkltion bleibt hier ohne Funktion, da es sich ja nun nicht um ein User-Drawn-Menü handelt. Also wird das Icon in der Größe angezeigt, in der es vorliegt. Die Standardgröße von Icons ist nun mal 32 x 32 Pixel. Wenn Du zum Beispiel die interne Toolbar-Bitmap benutzt, hast Du die 16 x 16 Pixel großen Icons:
CLS
var hBmp& = create("hPic", 0, "TOOLBAR")
var hIL& = Create("ImageList", 16, 16, hBmp&, rgb(192, 192, 192))
DeleteObject hBmp&
Declare ico&
ico& = ImageList("GetIcon", hIL&, 4)
PopUp "&Datei"
AppendMenu 100,"&Laden",-ico&
While 1
Waitinput
EndWhile
deleteobject ico&
Die Hintergrundfarbe beim Focus (eher das Hervorheben des gewählten Menüpunktes) wird von Windows vorgenommen. Da habe ich keine Aktien dran!
Gruß Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 13.04.2016 ▲ |
|
|
|
|
Georg Teles | Verstehe, mit der Hintergrundfarbe lässt sich nichts dran ändern - habe nur ein Beispiel in Visual Basic gesehen, wo es mittels Callback geregelt wurde Stichworte MEASUREITEMSTRUCT [...] und DRAWITEMSTRUCT [...] also auch nichts anderes als ein Ownerdraw, dann schaue ich das genauer mal an ...
bei der Größe wollte aufzeigen, dass das geladene Icon (Single-Icon 16x16 px) zu 32x32 px skaliert wird (bei Übergabe negativ an AppendMenu), das verstehe ich nicht
Naja gut, dann sind die ImageListen dran, diese habe ich nie benutzt
Grüße |
|
|
| |
|
|
|
RGH | Es wird bei create("hIcon",...) mit Iconnamen die Windows-API LoadIcon benutzt, die Icons grundsätzlich in der Standardgröße 32 x 32 lädt.
Bei OwnerDrawn-Menüs (mit positivem Iconhandle) scaliere ich die Icons gemäß der eingestellten Größe. Da sind dann auch die Hintergrundfarben möglich.
Gruß Roland |
|
|
| XProfan X3Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 14.04.2016 ▲ |
|
|
|
|
Georg Teles | Aaah vielen Dank !
Mit Owner-Draw ist alles klar, wusste nicht, dass Du bei hIcon standardmäßig in der Größe von 32 x 32 lädtst, das ist nun klar
Grüße |
|
|
| |
|
|