 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Löwenherz

Anmeldungsdatum: 25.08.2008 Beiträge: 86 Wohnort: auf einer sonnigen Insel :)
|
Verfasst am: 26.09.2009, 13:27 Titel: Icon laden in WindowsTitle Leiste? |
|
|
kurze Frage:
wie kann ich ein eigenes ICON in die WindowsTitle Bar einfügen ? Z.B. ein 24x24 BMP Bild ? Habe bisher nichts gefunden, außer ein Bild in ein neues GFX Fenster hineinzuladen mit:
Code: | ...
Dim bildarray(4 * (24 * 24) + 4) As Byte
Bload "cjpic.bmp", @bildarray(0)
Put (10, 10), bildarray(0)
...
|
das klappt sehr gut, aber ich brauche was für die WindowsTitle Leiste. Vielleicht kann ja jemand weiterhelfen, wäre schön.
gruß, löwenherz _________________ Das Leben ist wie eine Pralinenschachtel, man weiß nie, was dort drinnen für tolle wie böse Überraschungen stecken |
|
Nach oben |
|
 |
Caran

Anmeldungsdatum: 11.03.2007 Beiträge: 290 Wohnort: Lörrach
|
Verfasst am: 26.09.2009, 13:50 Titel: |
|
|
Mit dem befehl PUT wirst du da nicht sehr weit kommen. Das Icon ändert, bzw. definiert man meines Wissens nach mit der WinApi beim Erstellen des Fensters oder mit Sendmessage() während das Programm läuft.
Also müsstest du in etwa sowas coden:
Code: |
SendMessage(hWnd, WM_SETICON, ICON_SMALL, hIcon)
|
hWnd ist das Handle des FB-Fensters, WM_SETICON ist eine Konstante, die sagt, dass wir das Icon des Programms ändern wollen, ICON_SMALL ist auch eine Konstante, die beschreibt, welches Icon (klein oder groß) wir ändern wollen und hIcon ist ein Handle von einem Icon, dass du vorher mit
LoadIcon laden musst.
Gruß,
Caran _________________ Eine Erkenntnis von heute kann die Tochter eines Irrtums von gestern sein. |
|
Nach oben |
|
 |
ThePuppetMaster

Anmeldungsdatum: 18.02.2007 Beiträge: 1839 Wohnort: [JN58JR]
|
|
Nach oben |
|
 |
Cherry
Anmeldungsdatum: 20.06.2007 Beiträge: 249
|
Verfasst am: 27.09.2009, 14:53 Titel: |
|
|
Übrigens: Bildarrays nimmt man schon lange nicht mehr. Heutzutage geht das so:
Code: | Var bild = ImageCreate(24, 24)
Bload "bild.bmp", bild
Put (0, 0), bild
...
ImageDestroy(bild) |
Nun zu deinem Problem. Ein eigenes Icon einbauen kannst du so:
Code: | #Include "fbgfx.bi"
#Include "windows.bi"
Screen 18 ' ein Fenster aufmachen
Dim hWnd As HWND
ScreenControl(FB.GET_WINDOW_HANDLE, hWnd)
SendMessage(hWnd, WM_SETICON, ICON_SMALL, LoadImage(NULL, "dein_icon.ico", IMAGE_ICON, 16, 16, LR_LOADFROMFILE))
Sleep |
|
|
Nach oben |
|
 |
Löwenherz

Anmeldungsdatum: 25.08.2008 Beiträge: 86 Wohnort: auf einer sonnigen Insel :)
|
Verfasst am: 28.09.2009, 17:25 Titel: |
|
|
hallo zusammen,
danke für die Hilfen bisher, toll.
nur geht das Beispiel von cherry nicht. Hab's versucht. Oder ich habe etwas wichtiges vergessen ? Ich bin erkältet und leicht benebelt im Kopf, vielleicht bin ich auch nur blind
Code: | #INCLUDE "fbgfx.bi"
#INCLUDE "windows.bi"
Screen 18 ' ein Fenster aufmachen
DIM hWnd AS HWND
SCREENCONTROL(FB.GET_WINDOW_HANDLE, hWnd)
SendMessage(hWnd, WM_SETICON, ICON_SMALL, LoadImage(NULL, "batman2.ico", IMAGE_ICON, 16, 16, LR_LOADFROMFILE))
Sleep |
wenn ich's richtig verstanden habe brauche ich kein BLOAD für das ICON zu verwenden (*.ico), um ein Icon in der Windowsleiste zu gestalten.
gruß, löwenherz _________________ Das Leben ist wie eine Pralinenschachtel, man weiß nie, was dort drinnen für tolle wie böse Überraschungen stecken |
|
Nach oben |
|
 |
MOD Fleißiger Referenzredakteur

Anmeldungsdatum: 10.09.2007 Beiträge: 1003
|
Verfasst am: 28.09.2009, 17:38 Titel: |
|
|
Dein Code geht doch. Hast du dein Icon vielleicht nicht im selben Ordner wie deine Codedatei? |
|
Nach oben |
|
 |
Löwenherz

Anmeldungsdatum: 25.08.2008 Beiträge: 86 Wohnort: auf einer sonnigen Insel :)
|
Verfasst am: 28.09.2009, 19:20 Titel: |
|
|
mein fehler (puh) war, dass ich ein 32x32 Icon laden wollte, kein 16x16, soviel Erkältung ist nicht gut. denken fällt heute schwer.
Danke, klappt und funzt jetzt! Habe nun ein Batman-Icon in der WindowsLeiste, ich find's zum Schmunzeln. Bringt mich weiter.
tschüss und hatschie _________________ Das Leben ist wie eine Pralinenschachtel, man weiß nie, was dort drinnen für tolle wie böse Überraschungen stecken |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|