Deutsch
Bugs und vermeintliche

MenuIcons - X3.1

 

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:
CLS
'Set("MenuIconSize", 16)
Declare ico&
ico& = Create("hIcon","a")
PopUp "&Datei"
AppendMenu 100,"&Laden",-ico&

While 1

    Waitinput

EndWhile

deleteobject ico&



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
 
XProfan X3
TC-Programming [...] 
XProfan 8.0 - 10.0 - X2 - X3 - X4

13.04.2016  
 




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
 
XProfan X3
TC-Programming [...] 
XProfan 8.0 - 10.0 - X2 - X3 - X4

14.04.2016  
 




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 X3
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
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
 
XProfan X3
TC-Programming [...] 
XProfan 8.0 - 10.0 - X2 - X3 - X4

14.04.2016  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

7.410 Betrachtungen

Unbenanntvor 0 min.
HofK31.03.2018
rquindt17.10.2016
Wilfried22.05.2016
Torsten Rümker10.05.2016
Mehr...

Themeninformationen

Dieses Thema hat 2 Teilnehmer:

Georg Teles (3x)
RGH (2x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie