Toolbar

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Thomas
Beiträge: 893
Registriert: 06.07.2006 19:24
Wohnort: Regensburg
Kontaktdaten:

Toolbar

Beitrag von Thomas »

Kann man auch größere Toolbarsymbole darstellen?
z.B. 24x24-Pixel-Große Grafiken statt immer nur den kleinen 16x16-Pixel-Grafiken?
v6.00
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

Lambert von Lüttich weiß darüber bescheid :mrgreen:


tut mir leid 8) ich konnte nicht widerstehen
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag 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
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
Thomas
Beiträge: 893
Registriert: 06.07.2006 19:24
Wohnort: Regensburg
Kontaktdaten:

Beitrag 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"?
v6.00
Benutzeravatar
#NULL
Beiträge: 2238
Registriert: 20.04.2006 09:50

Beitrag 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
my pb stuff..
Bild..jedenfalls war das mal so.
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag 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:

Code: Alles auswählen

wParam = Wert1.b | Wert2.b << 8
Auslesen:

Code: Alles auswählen

Wert1.b = wParam & $FF
Wert2.b = wParam >> 8
Die Nachricht #TB_AUTOSIZE aktualisiert die Größe des Toolbar Fensters und der Buttons.
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
Thomas
Beiträge: 893
Registriert: 06.07.2006 19:24
Wohnort: Regensburg
Kontaktdaten:

Beitrag von Thomas »

Gibts für SendMessage_(...) auch ne andere Hilfe außer die Win32?
(evt. auf deutsch?)
v6.00
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

Thomas hat geschrieben:Gibts für SendMessage_(...) auch ne andere Hilfe außer die Win32?
(evt. auf deutsch?)
Nope.
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
Thomas
Beiträge: 893
Registriert: 06.07.2006 19:24
Wohnort: Regensburg
Kontaktdaten:

Beitrag 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 :allright: , 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?)
v6.00
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag 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.
Windows 10 Pro, 64-Bit / Outtakes | Derek
Antworten