Multicolor Toolbar Neue PB-Lib oder DLL
- Tafkadasom2k5
- Beiträge: 1578
- Registriert: 13.08.2005 14:31
- Kontaktdaten:
Funktioniert wunderbar bei mir 
Unter Vista Business sogar
Was ich noch gerne hätte:
Dass die Icons beim Disablen des Buttons auch ein wenig angrauen, genauo leicht, wie der Text. Also optional.
Ansonsten hätte ich es gerne, dass man die MessageID übergeben könnte. Sofern man verschiedene Sachen mit der Toolbar machen möchte, ist man selber Herr über die interne Nachrichten-Gruppierung. Zudem wir ja eh eine ID zum Erstellen der Toolbar brauchen, kann diese auch gleich die Nachricht sein.
Also anstatteher einfach die ID des Buttons nehmen. Dann ist ButtonID=Nachricht.
Meine nächste Idee wäre, tatsächlich "Nachrichten" zu schicken, und nicht nur die ID des jeweiligen Knopfes. Nachteil wäre hierbei, das man eine kleine INCLUDE braucht mit den Nachrichtenkonstanten, die man empfangen kann. Dann wird die Callback aber auch standardkonformer. Also in der Include würde dann stehenIm Normalfall würde eh nur "ButtonDown" oder so benutzt werden. Die Nachrichten sollten in der Callback an "wMSG" übergeben werden. In hWnd steht das Handle der jeweiligen Toolbar (oder lieber das Handle des Parentwindow der Toolbar-> aber das ist ne Designfrage). Im wParam steht die ID (die wir ja vorher definiert hatten) und im lParam könntest du noch extrainformationen anbieten, die mir in diesem Fall aber irgendwie nicht einfallen wollen
Ne Möglichkeit wäre ne X/Y Koordinate des Mausklicks zu übergeben (im Normalfall ist der lParam ein DWORD, den man in 2 WORDS aufteilen kann- also kannst du in eine Variable 2 Koordinaten packen, sofern sie nicht zu groß sind).
Ich weiß nicht, ob das mit PB möglich ist, aber das sollte es eigentlich: Wenn du die Toolbar hinzufügst, kannst du die Windowcallback des Fensters auf welche du die legst verwenden. Also standardmäßig. Einziges Manko: Du musst dann zusätzlich eine Funktion anbieten, die "manuell" die Callback setzt, sofern man eine eigene für die Toolbar verwenden möchte, und nicht in der Windowcallback des Parents selber. Diese Methode hätte aber (wenn ich das System von Pure richtig verstehe) den Vorteil, dass normale PB-Nutzer sich nicht mit Callbacks herumschlagen müssen. Die können dann einfach mitarbeiten, so wie sies gewohnt sind. Und wenn mans gerne "extra" hätte, gibts dann eben die Funktion "PGDR_SetTBCallBack(hToolbarHandle, @WndCallback())".
Bitte verstehe das nicht als gemecker, sondern als Kritik- ich finde deine Toolbar "echt geil", aber um richtig damit zu arbeiten fehlt meines Erachtens noch ein wenig. Für den einfachen Gebraucht ist sie natürlich super (und würde mit der ID-Geschichte ja NOCH einfacher laufen
). Und für PureUser wäre es eben angenehm, ihr System mit den Events zu behalten.
Ansonsten: WEITER SO! Prinzipiell bin ich begeistert, weil sie ist echt formschön ist und einfach gehalten!
Gr33tz
Tafkadasom2k5

Unter Vista Business sogar

Was ich noch gerne hätte:
Dass die Icons beim Disablen des Buttons auch ein wenig angrauen, genauo leicht, wie der Text. Also optional.
Ansonsten hätte ich es gerne, dass man die MessageID übergeben könnte. Sofern man verschiedene Sachen mit der Toolbar machen möchte, ist man selber Herr über die interne Nachrichten-Gruppierung. Zudem wir ja eh eine ID zum Erstellen der Toolbar brauchen, kann diese auch gleich die Nachricht sein.
Also anstatt
Code: Alles auswählen
CallFunction(0,"PGDR_SetMessageOffset",100)
CallFunction(0,"PGDR_SetTBButton",#TB_Button_0,"Hinauf ",ImageID(#Image_0))
Code: Alles auswählen
Enumeration #WM_USER
#TB_Button_0
#TB_Button_1
EndEnumeration
CallFunction(0,"PGDR_SetTBButton",#TB_Button_0,"Hinauf ",ImageID(#Image_0))
CallFunction(0,"PGDR_SetTBButton",#TB_Button_1,"Runter ",ImageID(#Image_1))
Code: Alles auswählen
Enumeration #WM_USER
#PGDR_Msg_ButtonAdded
#PGDR_Msg_ButtonDown
#PGDR_Msg_ButtonUp
#PGDR_Msg_ButtonAdded
#PGDR_Msg_ButtonDeleted
EndEnumeration

Ich weiß nicht, ob das mit PB möglich ist, aber das sollte es eigentlich: Wenn du die Toolbar hinzufügst, kannst du die Windowcallback des Fensters auf welche du die legst verwenden. Also standardmäßig. Einziges Manko: Du musst dann zusätzlich eine Funktion anbieten, die "manuell" die Callback setzt, sofern man eine eigene für die Toolbar verwenden möchte, und nicht in der Windowcallback des Parents selber. Diese Methode hätte aber (wenn ich das System von Pure richtig verstehe) den Vorteil, dass normale PB-Nutzer sich nicht mit Callbacks herumschlagen müssen. Die können dann einfach mit
Code: Alles auswählen
Repeat
Event = WaitWindowEvent()
WindowID = EventWindow()
GadgetID = EventGadget()
EventType = EventType()
If Event = #PGDR_Msg_ButtonDown
If GadgetID = #TB_Button_1
MessageRequester("Info", "Button 1 wurde gedrückt")
EndIf
EndIf
Until Event = #PB_Event_CloseWindow
EndIf
Bitte verstehe das nicht als gemecker, sondern als Kritik- ich finde deine Toolbar "echt geil", aber um richtig damit zu arbeiten fehlt meines Erachtens noch ein wenig. Für den einfachen Gebraucht ist sie natürlich super (und würde mit der ID-Geschichte ja NOCH einfacher laufen

Ansonsten: WEITER SO! Prinzipiell bin ich begeistert, weil sie ist echt formschön ist und einfach gehalten!
Gr33tz
Tafkadasom2k5

OpenNetworkConnection() hat geschrieben:Versucht eine Verbindung mit dem angegebenen Server aufzubauen. 'ServerName$' kann eine IP-Adresse oder ein voller Name sein (z.B.: "127.0.0.1" oder "ftp.home.net").
php-freak hat geschrieben:Ich hab die IP von google auch ned rausgefunden!
- legion
- Beiträge: 467
- Registriert: 08.10.2006 18:04
- Computerausstattung: Intel Core i5-6500 @ 4x 3.6GHz mit Windows 10 Pro, Intel Core-i7 mit Ubuntu 18.04 bionic, x86_64 Linux 4.18.0-16-generic, Microsoft Surface Pro - Windows 10 Pro
- Wohnort: Wien
- Kontaktdaten:
@NULL
Was hast du für ein Betriebssystem ?
Habe die Toolbar unter XP und Vista getestet,
ob sie auch unter 98,Me,2000 funktioniert kann ich leider nicht feststellen.
@Tafkadasom2k5
Freut mich wenn dir die Toolbar gefällt !
Habe leider (nein, zum Glück) momentan viele Termine, aber wenn
ich wieder Zeit finde werde ich deine Vorschläge sicher einfließen lassen.
Danke für die ausführliche, konstruktive Kritik !
Lg. Legion
Was hast du für ein Betriebssystem ?
Habe die Toolbar unter XP und Vista getestet,
ob sie auch unter 98,Me,2000 funktioniert kann ich leider nicht feststellen.
@Tafkadasom2k5
Freut mich wenn dir die Toolbar gefällt !

Habe leider (nein, zum Glück) momentan viele Termine, aber wenn
ich wieder Zeit finde werde ich deine Vorschläge sicher einfließen lassen.
Danke für die ausführliche, konstruktive Kritik !

Lg. Legion
PB 5.71 LTS Windows 10 Pro & Ubuntu 18.04.2 LTS & Linux Mint 19.3
-----------------------------------------------------
Alles ist, wie man glaubt, dass es ist!
-----------------------------------------------------
Alles ist, wie man glaubt, dass es ist!
xp, sp2.
mit den pb-codes das gleiche.
wenn ich nach drücken von disable das fenster minimiere und wieder maximiere, ohne dabei die bar mit der maus zu berühren, wird das umschalten auch sichtbar, scheint also nicht direkt was mit dem mouseover zu tun zu haben, aber irgendwie werden scheinbar events verschluckt.
mit den pb-codes das gleiche.
wenn ich nach drücken von disable das fenster minimiere und wieder maximiere, ohne dabei die bar mit der maus zu berühren, wird das umschalten auch sichtbar, scheint also nicht direkt was mit dem mouseover zu tun zu haben, aber irgendwie werden scheinbar events verschluckt.
Ich verwende die LIB jetzt schon eine seit geraumer Zeit. Sie ist echt traumhaft!
Seit heute habe ich jedoch ein kleines Problem....Ein Button wird ab und zu von einem Bild überlagert.
@Legion: Kann ich Dir 2 Screenshots schicken? Vielleicht weißt Du, was das Problem sein könnte.
Danke!
Seit heute habe ich jedoch ein kleines Problem....Ein Button wird ab und zu von einem Bild überlagert.
@Legion: Kann ich Dir 2 Screenshots schicken? Vielleicht weißt Du, was das Problem sein könnte.
Danke!
Windows 11 - PB 6.03 x64
_________________________________
_________________________________
- legion
- Beiträge: 467
- Registriert: 08.10.2006 18:04
- Computerausstattung: Intel Core i5-6500 @ 4x 3.6GHz mit Windows 10 Pro, Intel Core-i7 mit Ubuntu 18.04 bionic, x86_64 Linux 4.18.0-16-generic, Microsoft Surface Pro - Windows 10 Pro
- Wohnort: Wien
- Kontaktdaten:
Hallo !
Freut mich wenn dir meine Toolbar.dll gefällt !
Natürlich helfe ich dir, Screenshot sind OK aber noch besser du schickst
mir den ganzen Sourcecode damit ich das Problem analysieren kann.
E-Mailadresse kommt per PN.
Lg. Legion
Freut mich wenn dir meine Toolbar.dll gefällt !

Natürlich helfe ich dir, Screenshot sind OK aber noch besser du schickst
mir den ganzen Sourcecode damit ich das Problem analysieren kann.
E-Mailadresse kommt per PN.
Lg. Legion
PB 5.71 LTS Windows 10 Pro & Ubuntu 18.04.2 LTS & Linux Mint 19.3
-----------------------------------------------------
Alles ist, wie man glaubt, dass es ist!
-----------------------------------------------------
Alles ist, wie man glaubt, dass es ist!
- legion
- Beiträge: 467
- Registriert: 08.10.2006 18:04
- Computerausstattung: Intel Core i5-6500 @ 4x 3.6GHz mit Windows 10 Pro, Intel Core-i7 mit Ubuntu 18.04 bionic, x86_64 Linux 4.18.0-16-generic, Microsoft Surface Pro - Windows 10 Pro
- Wohnort: Wien
- Kontaktdaten:
Hallo !
Hab jetzt aus der DLL eine Lib für Purebasic gebastelt.
Ist meine erste PB-Lib ! Hoffe es funktioniert alles wie es soll !
Über konstruktive Kritik würde ich mich freuen.
Viel Spaß beim Testen !
PGDR_ToolbarLib
Hab jetzt aus der DLL eine Lib für Purebasic gebastelt.
Ist meine erste PB-Lib ! Hoffe es funktioniert alles wie es soll !
Über konstruktive Kritik würde ich mich freuen.
Viel Spaß beim Testen !

PGDR_ToolbarLib
PB 5.71 LTS Windows 10 Pro & Ubuntu 18.04.2 LTS & Linux Mint 19.3
-----------------------------------------------------
Alles ist, wie man glaubt, dass es ist!
-----------------------------------------------------
Alles ist, wie man glaubt, dass es ist!