Seite 1 von 4
Toolbar
Verfasst: 16.10.2007 15:18
von Thomas
Kann man auch größere Toolbarsymbole darstellen?
z.B. 24x24-Pixel-Große Grafiken statt immer nur den kleinen 16x16-Pixel-Grafiken?
Verfasst: 16.10.2007 15:29
von bobobo
Lambert von Lüttich weiß darüber bescheid
tut mir leid

ich konnte nicht widerstehen
Verfasst: 16.10.2007 15:40
von Fluid Byte
Code: Alles auswählen
OpenWindow(0,0,0,400,300,"void",$CC0001)
hwndToolbar = CreateToolBar(0,WindowID(0))
For i=0 To 5 : ToolBarStandardButton(i,i) : Next
SendMessage_(hwndToolbar,#TB_SETBUTTONSIZE,0,32 | 32 << 16)
SendMessage_(hwndToolbar,#TB_AUTOSIZE,0,0)
While WaitWindowEvent() ! 16 : Wend
Lambert von Lüttich? Ist das der hier?
http://de.wikipedia.org/wiki/Lambert_von_L%C3%BCttich
---------
genau der . siehe auch hier
bobobo
Verfasst: 16.10.2007 16:40
von Thomas
Fluid Byte hat geschrieben:Code: Alles auswählen
SendMessage_(hwndToolbar,#TB_SETBUTTONSIZE,0,32 | 32 << 16)
SendMessage_(hwndToolbar,#TB_AUTOSIZE,0,0)
Was machen diese Beiden Befehle genau?
Was bedeutet dieses "<< 16"?
Verfasst: 16.10.2007 17:05
von #NULL
..verschiebt die bits von der zahl links um soviele stellen wie die zahl rechts
Code: Alles auswählen
For i=0 To 8
Debug RSet(Bin( %11 << i ), 16, "0")
Next
Verfasst: 16.10.2007 17:31
von Fluid Byte
Die Nachricht #TB_SETBUTTONSIZE erwartet einen zusammengesetzten LONG (32-Bit) Wert bestehend aus zwei WORD Werten (16-Bit). Das heißt Breite und Höhe dürfen maximal 32767 betragen. Wie #Null schon sagte funktioniert das Erstellen und Lesen nicht mit einer simplen Addition sondern muss um die Größe eines WORD Wertes (16-Bit) verschoben werden. Beim Erstellen nach links (<< 16) beim Lesen nach rechts (>> 16).
Das geht natürlich auch mit einem WORD bestehend aus zwei BYTE Werten:
Erstellen:
Auslesen:
Die Nachricht #TB_AUTOSIZE aktualisiert die Größe des Toolbar Fensters und der Buttons.
Verfasst: 16.10.2007 19:37
von Thomas
Gibts für SendMessage_(...) auch ne andere Hilfe außer die Win32?
(evt. auf deutsch?)
Verfasst: 16.10.2007 20:21
von Fluid Byte
Thomas hat geschrieben:Gibts für SendMessage_(...) auch ne andere Hilfe außer die Win32?
(evt. auf deutsch?)
Nope.
Verfasst: 16.10.2007 21:33
von Thomas
Fluid Byte hat geschrieben:Code: Alles auswählen
OpenWindow(0,0,0,400,300,"void",$CC0001)
hwndToolbar = CreateToolBar(0,WindowID(0))
For i=0 To 5 : ToolBarStandardButton(i,i) : Next
SendMessage_(hwndToolbar,#TB_SETBUTTONSIZE,0,32 | 32 << 16)
SendMessage_(hwndToolbar,#TB_AUTOSIZE,0,0)
While WaitWindowEvent() ! 16 : Wend
Das klappt ja ganz gut

, aber wenn ich ein 32x32-Bitmap oder Icon mittels ToolBarImageButton(...) einfügen will ist das Bild trotzdem 16x16-Pixel!
Wie kann man machen, dass auch das 32x32 dargestellt wird?
(oder habe ich mich auf die schnelle einfach nur vertippt?)
Verfasst: 16.10.2007 21:57
von Fluid Byte
Dann muss du auch zusätzlich die Bildgröße mit #TB_SETBITMAPSIZE änder. Breite und Höhe wider mit der selben Methode angeben.