AppIcon.dll

Übersicht BlitzBasic DLLs und Userlibs

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

Dante

Betreff: AppIcon.dll

BeitragMo, Okt 31, 2005 13:35
Antworten mit Zitat
Benutzer-Profile anzeigen
So Leute^^

Hier ist meine erste Dll für BB Exclamation

Damit kann man das Icon in der Titelleiste und das TaskIcon ändern^^

Die Benutzung ist toal simpel:
einfach AppIcon("IconName.ico")
und schon hat man sein eigenes tolles Icon drin xD

Die Dll klappt auch bei B+, nur da erst das Fenster machen
und dann erst AppIcon()!

Download unter:
https://www.blitzforum.de/upload/file.php?id=6441

~EDITIERT~
Link geändert, File ist wieder online. Danke ozzi!
hamZta

(im zip ist die dll, die decls-Datei)

Außerdem mega dankeschön an ShadowJumper der so nett ist und die dll
vorrübergehend hostet^^

Hoffe jemand kann sie gebrauchen.

MfG
Bad-Rat
  • Zuletzt bearbeitet von Dante am Fr, Feb 22, 2008 22:04, insgesamt 5-mal bearbeitet

Bionical

BeitragMo, Okt 31, 2005 16:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Sehr gut! ^^
Kann ich immer wieder brauchen.

FETTES DANKESCHÖN Wink

mfg
Bionical
Das Leben ist zum Proggen da!

www.livingsoftware.at.tc
Mit selbstgehosteten Forum!
Das Forum ist leider gerade down.... Dank Funpic.de -.-

Sebastian

BeitragMo, Okt 31, 2005 18:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Schreib mal ne andre Version der Dll , wo man bei AppIcon noch einen Parameter hWnd angben kann. Das läuft dann namlich auch unter B3D ....
... dank getActiveWindow() !
Wink
Seit 2 Jahren kein BlitzBasic und kein Windows mehr, und stolz darauf !

Dante

BeitragMo, Okt 31, 2005 18:44
Antworten mit Zitat
Benutzer-Profile anzeigen
@Sebastian: sie klappt doch unter B3D und "getActiveWindow()" benutz ich in der dll.

ich hab nur geschrieben das sie auch für B+ klappt^^

Trotzdem thx
 

timmeTheOnly

Betreff: ?

BeitragSo, Nov 06, 2005 8:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Bei mir funzt des net... ich hab die bb3d Demo

d-bug

BeitragSo, Nov 06, 2005 10:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Natürlich geht das nicht, denn die B3D-Demo unterstützt keine Userlibs.
 

baerserker

BeitragSo, Nov 06, 2005 11:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich bin noch ein noob und wollte fragen was ich wo hinkopieren soll, denn wenn ich das ganze downloade und einfach starte kommt "Function Appicon not found" Please help
bär, bär, bär...

d-bug

BeitragSo, Nov 06, 2005 11:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Vorrausgesetzt du hast B+ oder B3D (und zwar keine Demo Wink) gibt es in deinem BB-Verzeichniss ein Unterverzeichniss namens 'Userlibs'. Da mußt du die *.decls und die *.dll Datei rein legen/kopieren. Dann startest du BB neu und führst die beigelegte Demo aus. Et voila, es funktioniert Smile !! Zu beachten ist, das du bei jedem Release deiner Software auch die DLL beilegen mußt, sonst bekommen deine zukünftigen Kunden dei gleiche Fehlermeldung wie du.
 

baerserker

BeitragSo, Nov 06, 2005 11:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke für die schnelle antwort! Jetzt geht es. Danke! Very Happy
bär, bär, bär...

x-pressive

BeitragFr, Nov 25, 2005 23:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Wieso extra eine DLL? Geht doch viel einfacher ohne:

BlitzBasic: [AUSKLAPPEN]

; ----------------------------------------------------------
; FUNCTION: SET LITTLE WINDOW ICON
; ----------------------------------------------------------
Function SetAppIcon(iconFile$)
hwnd = User32_GetActiveWindow()
icon = Shell32_LoadIcon(hwnd,iconFile$,0)
User32_SetClassLong hwnd,-14,icon
End Function


Und dazu noch diese .decls in den Userlib-Ordner, fertig:

User32.decls
.lib "user32.dll"
User32_GetActiveWindow%():"GetActiveWindow"
User32_SetClassLong%( hWnd, nIndex, dwNewLong ):"SetClassLongA"

Shell32.decls
.lib "Shell32.dll"
Shell32_LoadIcon%(hWND%,File$,Index%) : "ExtractIconA"


-Oder macht deine DLL etwas anderes?
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL

5k41

BeitragSo, Okt 22, 2006 2:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Ist vielleicht etwas spät, aber deine Methode, X-Pressive funktioniert bei mir nicht ( äussert sich darin, dass sich das Icon einfach nicht ändert Confused )
Projekte:
For a better World - Gesellschaftsspiel ( 100%)

User posted image
 

X0r

BeitragSo, Okt 22, 2006 5:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Mit sendmessage gehts am besten.
Code: [AUSKLAPPEN]
hWnd=GetActiveWindow()         |ID des aktiven Fenster wiedergeben
IMAGEID=img=LoadImage_(GetModuleHandle(0),"icon.ico", IMAGE_ICON, 16,16, LR_LOADFROMFILE)
SendMessage(hWnd,WM_SETICON,0,IMAGEID)   |Icon auf aktives Fenster setzen

WM_SETICON ist eine Konstante(&H80).

Das wars. Müsst ihr natürlich noch für BB umsetzen.

Ach ja, das gute alte sendmessage, mit dem man das ganze RichEditGadget kontrollieren kann.

Bei x-pressives Beispiel:
Code: [AUSKLAPPEN]
SetClassLong_(hWnd,GCL_HICON,IMAGEID)
gibt es eine Konstante(GCL_HICON), was aber nur dazu führt, dass das icon im Taskdingsleiste gesetzt wird. Es geht schon, nur ist es nicht das, was hier sehr viele wollen.


Ich persöhnlich würde es und mach es nach meinem Beispiel oben.
Es klappt zu 100%.

Der Eisvogel

BeitragFr, Jan 25, 2008 16:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo
XOr hat Folgendes geschrieben:
Das wars. Müsst ihr natürlich noch für BB umsetzen.

wie muss man das verändern und was für eine Userlib braucht man dafür.
Ich habe keine Ahnung.
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.
 

ChristianK

BeitragFr, Jan 25, 2008 16:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Benutz doch einfach die Forensuche. Es wurde schon x-mal erklärt, wie man an die Namen der DLLs und die Werte der Konstanten kommt.
Lad dir den ApiViewer runter, da findest du das wichtigste -> http://www.activevb.de/rubrike...4_v310.exe
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT

Der Eisvogel

BeitragFr, Jan 25, 2008 17:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Welche Konstanten?

Ich bin noch ein totaler Noob was solche Sachen anbelangt.
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.
 

ChristianK

BeitragFr, Jan 25, 2008 17:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Konstanten sind zum Beispiel LR_LOADFROMFILE und WM_SETICON. Du brauchst aber die Zahlenwerte die dahinter stecken, weil Blitz mit den Konstantennamen nichts anfangen kann. Und diese Werte findest du im API Viewer.
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT

Der Eisvogel

BeitragFr, Jan 25, 2008 17:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Was muss ich dann mit den Konstanten machen?
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.
 

ChristianK

BeitragFr, Jan 25, 2008 17:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie gesagt, Konstanten sind Platzhalter für Zahlen.
Also musst du entweder im Code die Konstanten durch Zahlen ersetzen oder sowas schreiben: "Const WM_SETICON = WertVomAPIViewer".
Vielleicht solltest du dir auch einfach ein Programmiertutorial anschauen ...
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT

Der Eisvogel

BeitragFr, Jan 25, 2008 17:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Und was ist mit der Userlib?
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.
 

ChristianK

BeitragFr, Jan 25, 2008 18:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Hier ein Beispiel, den Rest kannst du selber rausfinden!

Code: [AUSKLAPPEN]
.lib "user32.dll"
SendMessageA%( hwnd%, msg%, wparam%, lparam% )

Damit bekommst du die SendMessage-Funktion aus dem Beispiel oben.
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic DLLs und Userlibs

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group