Die XProfan-Toolbar-Icons sind ohne Problem auf ein PopUp-Menu zu legen:
[Blockierte Grafik: http://s33.postimg.org/6hxprdtkf/pop_menu.jpg]
Wie bekomme ich diese Icons aber auf frei angelegte Buttons ???
Also keine Toolbar, sondern auf mit hlp&=Create("Button", usw... angelegte Buttons.
Toolbar-Icon auf Button legen...
-
horst_ -
4. Juni 2016 um 14:22
-
-
-
Hallo Horst,
schaue Dir mal die Funktionen create("IconButton",...) und create("PicButton",...) an.
Gruß
Roland -
Hallo Roland
Habe mir vor langer Zeit einmal eine kleine Procedur geschrieben:CodePROC SETZE_WAHL_ICON DECLARE b_icon& PARAMETERS b_handle&,b_icon$,X%,Y%,ib%,ih% b_icon& = CREATE("ICON",b_handle&,b_icon$,0,0) SetWindowPos b_icon& =0,0-0,0;0 SetWindowPos b_icon& =X%,Y%-ib%,ih%;0 ENDPROC
Damit kann ich die 21 XProfan-Icons genau auf einem Button plazieren, wie ich es haben möchte.
Wenn das Programm fertig ist, werden durch ein ebenfalls selbst geschriebens Tool die jeweiligen Xprofan-Icons
mit anderen Icons ausgetauscht.
Das klappt perfekt.
Allerdings klappt das nicht mit den Toolbar-Icons und da müsste es eine Möglichkeit geben, diese auch einzubinden.
Es sieht nämlich blöde aus, wenn ich im PopUp-Menu Toolbar-Icons habe und auf den Buttons, die die gleichen Befehle ausführen, andere Icons habe. -
Mal 'ne einfache Sache, schnell zusammengeklöppelt ohne Transparenzeffekte
Code
Alles anzeigenCLS Var Handle ToolButton = Create("hPic", 0, "Toolbar32") ' Toolbarbilder laden Var Int I = 9 ' Nummer des Toolbarbildes Var Handle TeilBild = Create("hPicCopy", ToolButton, I * 32, 0, 32, 32) ' Gewünschtes Bild extrahieren als eigenes Bild mit dem Handle TeilBild ' die 32 ist immer die Größe eines Teilbildes Var Handle Button = Create("PicButton", %HWnd, TeilBild, 4, 94, 48, 48) ' BitmapButton mit diesem Bild erzeugen While 1 WaitInput EndWhile DeleteObject ToolButton DeleteObject TeilBild ' Bitmaps freigeben bei Programmende
Gruß Volkmar
-
@Volkmar
Du bist aber ein guter "Klöppler"
Das ist ein Anfang - werde hier auch eine Procedur basteln und hier anzeigen !
Danke -
ohne Transparenzeffekte
Das wäre aber sehr wichtig, wenn man sich so die Buttons in horst seinen Programmen anschaut.
-
Geht auch mit etwas Geduld
Code
Alles anzeigenCLS Var Handle ToolButton = Create("hPic", 0, "Toolbar32") ' Toolbarbilder laden Var Handle IList = Create("ImageList", 32, 32, ToolButton, RGB(192, 192, 192)) ' Der RGB-Wert ist die Hintergrundfarbe der Toolbarbilder, wird als transparent angegeben Var Int I = 9 ' Nummer des Toolbarbildes Var Handle Icon = ImageList("GetIcon", IList, I) Var Handle IButton = Create("IconButton", %HWnd, Icon, 4, 96, 48, 48) While 1 WaitInput EndWhile DeleteObject ToolButton DeleteObject IList DeleteObject Icon ' Bitmaps freigeben bei Programmende
Verwendet wird dann statt des Bitmapbuttons ein Iconbutton. Sieht in der Tat besser aus.
Gruß Volkmar
-
Danke für eure Hilfe
Habe aber einen anderen Weg benutzt:
Die 21 Icons aus XProfan tausche ich aus gegen frei verfügbare Icon -
Die Auswahl ist viel größer und auch der Code ist kleiner duch meine Mini-Procedut
[Blockierte Grafik: http://s33.postimg.org/40prhmrcv/pop_menu.jpg] -
Und schon fehlt die Transparenz .
-
Und schon fehlt die Transparenz .
Die könnte man über einen Icon-Editor ändern.
Mir gefällt es aber so
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!