[B3D] Pöse kleine Pilderchen (Probs mit Icons)
Übersicht

![]() |
preachieBetreff: [B3D] Pöse kleine Pilderchen (Probs mit Icons) |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo zusammen,
ich weiß, dass das Thema Icons schon zu Hauf behandelt wurde, doch es ist unfassbar, die 5 Seiten Suchergebnisse haben mir nicht weitergeholfen ![]() Also fangen wir mal so an, wie jeder dieser Posts anfängt: Ich möchte das Icon der kompilierten Exe austauschen ![]() Habe jetzt schon diverse Wege ausprobiert, BlitzEdit2 (sieht recht nett aus, muss ich mir mal näher ansehen ![]() Alles hat soweit auch mehr oder weniger funktioniert. Im Explorer wird das korrekte Icon angezeigt, wenn ich das Programm starte, wird das korrekte Icon in der Taskleiste angezeigt. Was ich bislang jedoch noch nicht geschafft habe, ist dass auch in der Titelzeile des Fensters das korrekte Icon angezeigt wird. Ich weiß jetzt nicht, an welcher Stelle ich etwas verpasst habe, aber es wäre sehr nett, wenn mir jemand weiterhelfen könnte. Vielen Dank im voraus, schönen Gruß Preachie P.S.: Was ich vergessen hab zu erwähnen, ist dass es sich hier konkret um B3D handelt... hab den Titel nochmal entsprechend angepasst |
||
![]() |
EPS |
![]() Antworten mit Zitat ![]() |
---|---|---|
Um das Icon in der Titelleiste des Fensters zu ändern, muß man die API bemühen. ResHacker usw. ändern nur das Icon der Datei.
So, hier mal 2 Lösungen. Zunächst für B3D: Code: [AUSKLAPPEN] Graphics 640,480,0,2
Const WM_SETICON = $80 ;--> Konstanten für Icon im Fenster Const LR_LOADFROMFILE = $10 Const ICON_SMALL = 0 Const ICON_BIG = 1 Const IMAGE_ICON = 1 AppTitle "B3D Test" Global hWin = api_GetActiveWindow() ;--> Fenstericon anlegen icon = api_LoadImage(0, "bws.ico", IMAGE_ICON, 0, 0, LR_LOADFROMFILE) SendMessage(hWin, WM_SETICON, ICON_SMALL, icon) SendMessage(hWin, WM_SETICON, ICON_BIG, icon) SetBuffer BackBuffer() Repeat Cls Flip Until KeyHit(1) End und hier für Blitz+ Code: [AUSKLAPPEN] Const WM_SETICON = $80 ;--> Konstanten für Icon im Fenster
Const LR_LOADFROMFILE = $10 Const ICON_SMALL = 0 Const ICON_BIG = 1 Const IMAGE_ICON = 1 ;--> Blitz+ win = CreateWindow("Test",100,100,640,480,0,1) hWin = QueryObject(win,1) ;--> Fenstericon anlegen icon = api_LoadImage(0, "bws.ico", IMAGE_ICON, 0, 0, LR_LOADFROMFILE) SendMessage(hWin, WM_SETICON, ICON_SMALL, icon) SendMessage(hWin, WM_SETICON, ICON_BIG, icon) Repeat Select WaitEvent(1) ;--> Beenden Case $803: Exit End Select If KeyHit(1) Then Exit Forever End Damit das ganze funktioniert braucht es natürlich zum einen eine ICON Datei (im Beispiel als bws.ico bezeichnet) und zum anderen die nötigen Befehle in der USER32.DECLS: Code: [AUSKLAPPEN] .lib "user32.dll"
SendMessage%(hwnd, msg, wParam, mParam):"SendMessageA" api_LoadImage% (hInst%, lpsz$, un1%, n1%, n2%, un2%) : "LoadImageA" api_GetActiveWindow% () : "GetActiveWindow" Ich hoffe das hilft. |
||
mGUI - Graphical User Interface für Blitz3D...Informationen gibt es hier
Man kann sich öfter als zweimal im Leben halb tot lachen. |
![]() |
preachie |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo EPS,
vielen Dank für die Antwort. Sieht sehr ähnlich zu der Lösung, die ich bereits gefunden und getestet hatte, mit einem Unterschied, dass Deine Lösung funktioniert ![]() Also nochmals vielen Dank für Deine Hilfe! Eine alternative Möglichkeit, das Icon fest in die Exe zu integrieren gibt es demzufolge nach nicht? Gruß Preachie |
||
![]() |
EPS |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nun, möglicherweise ist es auch möglich die Ressource, also das Icon, mit ResHacker an die EXE zu binden und im Programm dann per API an das Fenster zu "übergeben".
Erstens würde dies allerdings nur in der compilierten EXE funktionieren und zweitens hab ich keine Ahnung wie und/oder ob das überhaupt geht. |
||
mGUI - Graphical User Interface für Blitz3D...Informationen gibt es hier
Man kann sich öfter als zweimal im Leben halb tot lachen. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group