Italia
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 trasferimento 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 trasferimento. Nun gibt es 2 Probleme wie man im Bild rechts sieht: Das Icon bleibt in der Dimensione 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 Dimensione 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 grande 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!

Saluto
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 Dimensione 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 Dimensione. Da sind dann auch die Hintergrundfarben possibile.

Saluto
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 Dimensione 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  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

7.391 Views

Untitledvor 0 min.
HofK31.03.2018
rquindt17.10.2016
Wilfried22.05.2016
Torsten Rümker10.05.2016
Di più...

Themeninformationen

Dieses Thema hat 2 subscriber:

Georg Teles (3x)
RGH (2x)


Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


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