ToolBarImageButton() und PB_any
-
- Beiträge: 713
- Registriert: 22.03.2005 00:29
- Computerausstattung: Computer und Strom vorhanden
- Wohnort: LK Wolfenbüttel
ToolBarImageButton() und PB_any
hallo.
warum kann man bei ToolBarImageButton() nicht pb_any nutzen wie bei so vielen anderen Funktionen auch?
"ToolBarImageButton(#PB_Any,...)" funktioniert nicht.
Zwar wird der Button erstellt, aber keine nutzbare ID zurückgeliefert.
(getestet under Win98)
Gruß
Toshy
warum kann man bei ToolBarImageButton() nicht pb_any nutzen wie bei so vielen anderen Funktionen auch?
"ToolBarImageButton(#PB_Any,...)" funktioniert nicht.
Zwar wird der Button erstellt, aber keine nutzbare ID zurückgeliefert.
(getestet under Win98)
Gruß
Toshy
1. Win10
PB6.1
PB6.1
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Da haste etwas mißverstanden. Das Image mußte Mithilfe der Image Library laden, die selbstverständlich auch #PB_Any usw. unterstützt. Die dort erhaltene ImageID übergibst Du an den ToolBarImageButton
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

-
- Beiträge: 713
- Registriert: 22.03.2005 00:29
- Computerausstattung: Computer und Strom vorhanden
- Wohnort: LK Wolfenbüttel
Hi.
Das weiß ich. es geht nicht darum das Icon zu laden, das klappt. Sondern man kann ja bei (fast) allen Objekten entweder eine feste "ID" vergeben (0,1,4,5...) oder #pb_any. Durch #pb_any wird dann ja normal durch die Funktion die variabel von PB erstelle ID zurückgegeben mit der man das Objekt ansprechen kann. Loadimage wie du meinst macht das ja, entweder mit loadimage(3,) oder loadimage(#pb_any,..).
Nun wollte ich folgendes machen:
ToolBarImageButton_Web_Refresh = ToolBarImageButton(#PB_Any, ImageID(IconImage(4)))
ToolBarToolTip(ToolBar_1, ToolBarImageButton_Web_Refresh, "Erneuern")
Das klappt aber nicht. Na ja, es klappt schon. Button wird mit Grafik erstellt, aber immer nur "1" zurück geliefert. Also geht es wohl mit #pb_any nicht. Weshalb? Kann mir das jemand sagen oder mache ich was falsch?
Gruß
Toshy
Das weiß ich. es geht nicht darum das Icon zu laden, das klappt. Sondern man kann ja bei (fast) allen Objekten entweder eine feste "ID" vergeben (0,1,4,5...) oder #pb_any. Durch #pb_any wird dann ja normal durch die Funktion die variabel von PB erstelle ID zurückgegeben mit der man das Objekt ansprechen kann. Loadimage wie du meinst macht das ja, entweder mit loadimage(3,) oder loadimage(#pb_any,..).
Nun wollte ich folgendes machen:
ToolBarImageButton_Web_Refresh = ToolBarImageButton(#PB_Any, ImageID(IconImage(4)))
ToolBarToolTip(ToolBar_1, ToolBarImageButton_Web_Refresh, "Erneuern")
Das klappt aber nicht. Na ja, es klappt schon. Button wird mit Grafik erstellt, aber immer nur "1" zurück geliefert. Also geht es wohl mit #pb_any nicht. Weshalb? Kann mir das jemand sagen oder mache ich was falsch?
Gruß
Toshy
1. Win10
PB6.1
PB6.1
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Habs nicht ganz verstanden, hab aber jetzt alles per #PB_Any gemacht und funzt:
Code: Alles auswählen
TB_ID = ToolBarImageButton(#PB_Any, ImageID(LoadImage(#PB_Any, "E:\Icons\210.ico")))
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

-
- Beiträge: 713
- Registriert: 22.03.2005 00:29
- Computerausstattung: Computer und Strom vorhanden
- Wohnort: LK Wolfenbüttel
Code: Alles auswählen
Window_0 = OpenWindow(#PB_Any, 99, 5, 605, 404, "", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget | #PB_Window_TitleBar )
ToolBar_1 = CreateToolBar(#PB_Any, WindowID(Window_0))
TB_ID = ToolBarImageButton(#PB_Any, ImageID(LoadImage(#PB_Any, "C:\Daten\Purebasic\Projekte\ProfanBase\pfeilnachlinks.ico")))
Debug TB_ID
TB_ID = ToolBarImageButton(#PB_Any, ImageID(LoadImage(#PB_Any, "C:\Daten\Purebasic\Projekte\ProfanBase\pfeilnachlinks.ico")))
Debug TB_ID
TB_ID = ToolBarImageButton(#PB_Any, ImageID(LoadImage(#PB_Any, "C:\Daten\Purebasic\Projekte\ProfanBase\pfeilnachlinks.ico")))
Debug TB_ID
While 1
WindowEvent.l = WaitWindowEvent()
Wend
Wie schon gesagt klappt das erstellen schon, aber der Rückgabewert nicht. Die Funktion gibt NICHT eine ID zurück die "durch #pb_any" erstellt wird, sondern nur immer den Wert #TRUE.
Dadurch kann man den Button natürlich nicht ansprechen.
Es kann ja gut sein, das #pb_any für die Toolbar nicht vorgesehen ist. Denn bei der Toolbarfunktion steht nicht das man #pb_any nutzen kann.
Ich kenne mich mit Toolbars nur sehr wenig aus, wenn man theoretisch nur eine einzige Toolbar erstellen kann, das wäre en #pb_any für die Buttuns ja eh nicht sinnvoll.
Ist mir halt nur aufgefallen und ich wollte halt wenn ich schon bei allem #pb_any nutze auch dabei bleiben, wenn es geht.
1. Win10
PB6.1
PB6.1
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Dann unterstützt der ToolBarImageButton anscheinend kein #PB_Any, ist auch in der Hilfe nicht erwähnt. Oder ist ein Bug?
Ich bin überfragt
Ich bin überfragt

PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

-
- Beiträge: 713
- Registriert: 22.03.2005 00:29
- Computerausstattung: Computer und Strom vorhanden
- Wohnort: LK Wolfenbüttel
Sehr Schade, wäre ja trotzdem möglich gewesen.
Aber nicht schlimm, dann nutze ich halt Konstanten oder ne eigene "pb_any"-funktion.
Da es wie Menüitems arbeitet brauche ich dann ja in der Procedure nur um jeweils "1" erhöhen.
Danke dir Andre, jetzt bin ich schlauer.
Vielleicht kann ja als Hinweis in der Hilfedatei eine Anmerkung eingefügt werden (bei Menüitem und Toolbarbuttons) das man hier #pb_any nicht nutzen kann.
Wer neu ist in PB oder vielleicht sogar allgemein jeder der ansonsten #pb_any bei allem nutzt kommt vielleicht nicht auf die Idee das es hier nicht geht, baut es automatisch ein und wundert sich lange warum es nicht geht.
Brauch ja nur ein einziger Satz sein, "#pb_any läßt sich bei diesem Befehl nicht nutzen". Punkt aus
Gruß
Thorsten
Aber nicht schlimm, dann nutze ich halt Konstanten oder ne eigene "pb_any"-funktion.
Da es wie Menüitems arbeitet brauche ich dann ja in der Procedure nur um jeweils "1" erhöhen.
Danke dir Andre, jetzt bin ich schlauer.
Vielleicht kann ja als Hinweis in der Hilfedatei eine Anmerkung eingefügt werden (bei Menüitem und Toolbarbuttons) das man hier #pb_any nicht nutzen kann.
Wer neu ist in PB oder vielleicht sogar allgemein jeder der ansonsten #pb_any bei allem nutzt kommt vielleicht nicht auf die Idee das es hier nicht geht, baut es automatisch ein und wundert sich lange warum es nicht geht.
Brauch ja nur ein einziger Satz sein, "#pb_any läßt sich bei diesem Befehl nicht nutzen". Punkt aus

Gruß
Thorsten
1. Win10
PB6.1
PB6.1