Seite 2 von 3

Verfasst: 27.11.2006 13:40
von HeX0R
Sind doch die Originale von Magix-Soft <Kain>.
Allerdings fällt mir eben auf, dass ich es unter PB4 gemacht habe...

Also Aufgabe verfehlt ;)

Verfasst: 27.11.2006 13:49
von Tsuki-Namida
naja das dürfte nicht das problem sein (hoffe ich.... das ich es schaffe) es zu übersetzen ;)

Verfasst: 27.11.2006 13:50
von HeX0R
Sodele, nun hab ich den Button noch verschiebbar gemacht.
Ist aber immernoch PB4, ich hab hier kein PB3.94

Code: Alles auswählen

CatchImage(1, ?Links)
CatchImage(2, ?Mitte)
CatchImage(3, ?Rechts)

If OpenWindow(0, 0, 0, 322, 205, "Whatever", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) And CreateGadgetList(WindowID(0))
	StringGadget(0, 8, 10, 306, 20, "")
	ImageGadget(1, 8, 40, 280, 21, 0)
	Repeat
		Select WaitWindowEvent()
			Case #PB_Event_CloseWindow
				Break
			Case #PB_Event_Gadget
				Select EventGadget()
					Case 0
						If EventType() = #PB_EventType_Change
							a = Val(GetGadgetText(0))
							If a > 0
								If CreateImage(0, ImageWidth(1) + ImageWidth(3) + a * ImageWidth(2), 21)
									ResizeGadget(1, #PB_Ignore, #PB_Ignore, ImageWidth(1) + ImageWidth(3) + a * ImageWidth(2), 21)
									StartDrawing(ImageOutput(0))
									DrawImage(ImageID(1), 0, 0)
									b = ImageWidth(1)
									For i = 0 To a - 1
										DrawImage(ImageID(2), b, 0)
										b + ImageWidth(2)
									Next i
									DrawImage(ImageID(3), b, 0)
									StopDrawing()
									SetGadgetState(1, ImageID(0))
								EndIf
							EndIf
						EndIf
					Case 1
						If EventType() = #PB_EventType_LeftClick
							lOffset = WindowMouseX(0) - GadgetX(1)
							tOffset = WindowMouseY(0) - GadgetY(1)
							StartMoving = #True
						EndIf
				EndSelect
			Case #WM_MOUSEMOVE
				If StartMoving
					ResizeGadget(1, WindowMouseX(0) - lOffset, WindowMouseY(0) - tOffset, #PB_Ignore, #PB_Ignore)
				EndIf
			Case #WM_LBUTTONUP
				StartMoving = #False
		EndSelect
	ForEver
EndIf
End


DataSection
	Links:
	Data.l $01324D42, $00000000, $00360000, $00280000, $00030000, $00150000, $00010000, $00000018
	Data.l $00FC0000, $0EC40000, $0EC40000, $00000000, $00000000, $E2B80000, $7A855BD7, $00748149
	Data.l $77560000, $747B5A70, $00A8B186, $6B4A0000, $BDC4A364, $00EFF8CD, $4F3A0000, $DCDFCA4C
	Data.l $00F0F3D4, $4E390000, $F7FAE54B, $00F5F8D9, $4F240000, $F7FFD546, $00F0F3D6, $50250000
	Data.l $F7FFD547, $00F0F3D6, $50210000, $F7FFD147, $00F0F6D4, $51220000, $F8FFD248, $00F1F7D5
	Data.l $53210000, $F7FFD147, $00F1F7D3, $54220000, $F8FFD248, $00F2F8D4, $53290000, $F8FFD948
	Data.l $00F2F8DC, $53290000, $F9FFDA48, $00F2F8DC, $53310000, $F5FFDE48, $00F8FDE9, $4F2D0000
	Data.l $F7FFE044, $00F5FAE6, $522E0000, $FBFFE346, $00F5FDE6, $522E0000, $FAFFE246, $00F7FFE8
	Data.l $5B270000, $EEFFCB4A, $00FCFFE1, $622E0000, $CADBA751, $00FCFFE1, $8C4A0000, $8EA15F79
	Data.l $00C3D19C, $DD9B0000, $6A7D3BCA, $00606E39, $00000000

	Mitte:
	Data.l $01324D42, $00000000, $00360000, $00280000, $00040000, $00150000, $00010000, $00000018
	Data.l $00FC0000, $0EC40000, $0EC40000, $00000000, $00000000, $5B0F0000, $3B5B0F3B, $0F3B5B0F
	Data.l $DDB43B5B, $D8DDB4D8, $B4D8DDB4, $E6BDD8DD, $E1E6BDE1, $BDE1E6BD, $EADEE1E6, $FCEADEFC
	Data.l $DEFCEADE, $ECE0FCEA, $FEECE0FE, $E0FEECE0, $F4E7FEEC, $F6F4E7F6, $E7F6F4E7, $F4E7F6F4
	Data.l $F6F4E7F6, $E7F6F4E7, $F5E2F6F4, $F8F5E2F8, $E2F8F5E2, $F6E3F8F5, $F9F6E3F9, $E3F9F6E3
	Data.l $F7DEF9F6, $FBF7DEFB, $DEFBF7DE, $F8DFFBF7, $FCF8DFFC, $DFFCF8DF, $F8E5FCF8, $FDF8E5FD
	Data.l $E5FDF8E5, $F8E5FDF8, $FDF8E5FD, $E5FDF8E5, $F8ECFDF8, $FAF8ECFA, $ECFAF8EC, $FBEFFAF8
	Data.l $FDFBEFFD, $EFFDFBEF, $FAEDFDFB, $F8FAEDF8, $EDF8FAED, $FFF3F8FA, $FEFFF3FE, $F3FEFFF3
	Data.l $FFE7FEFF, $F7FFE7F7, $E7F7FFE7, $FFECF7FF, $FCFFECFC, $ECFCFFEC, $FFE0FCFF, $F8FFE0F8
	Data.l $E0F8FFE0, $542DF8FF, $45542D45, $2D45542D, $00004554

	Rechts:
	Data.l $01324D42, $00000000, $00360000, $00280000, $00030000, $00150000, $00010000, $00000018
	Data.l $00FC0000, $0EC40000, $0EC40000, $00000000, $00000000, $694B0000, $7B806264, $00ECEFD2
	Data.l $AD810000, $768357A0, $00778854, $EEC20000, $AEBB8FE1, $00536430, $EEB10000, $CFE9ACD4
	Data.l $00456319, $F4B70000, $EAFFC7DA, $0036540A, $F6CA0000, $E0E6BAF0, $00415C17, $F6CA0000
	Data.l $E1E7BBF0, $00425D18, $F3D00000, $E6E3C0F6, $00465A1D, $F4D10000, $E7E4C1F7, $00475B1E
	Data.l $F4D40000, $E9E4C4F9, $004A5920, $F5D50000, $EAE5C5FA, $004B5A21, $FAD10000, $E4E9C0F5
	Data.l $00485E1E, $FAD10000, $E5EAC1F5, $00485E1E, $FFD10000, $DEEFB8F7, $0037590D, $EFB80000
	Data.l $E8F9C2DE, $00416317, $FFD00000, $F0FFCDF3, $0033570D, $FFCD0000, $EBFFC8F0, $002E5208
	Data.l $FBD30000, $EDF8D0F0, $0050672F, $FFDF0000, $C7D2AAFC, $004A6129, $DEC70000, $8C8A73E0
	Data.l $0068724D, $5C450000, $7A78615E, $00D1DBB6, $00000000
EndDataSection

Verfasst: 27.11.2006 13:50
von #NULL
hab ich auch nicht dran gedacht ..aber hier nochmal in 3.94 :

Code: Alles auswählen

#links=0
#mitte=1
#rechts=2
#result=3
LoadImage(#links, "C:\test\5x40_l.bmp")
LoadImage(#mitte, "C:\test\5x40_m.bmp")
LoadImage(#rechts,"C:\test\5x40_r.bmp")
w=ImageWidth()
h=ImageHeight()


While width<3 Or width>200
  width=Val(InputRequester("breite eingeben", "bitte geben sie die breite des buttons ein", "3"))
  If width=0
    End
  EndIf
Wend


If CreateImage(#result, w*width, h)=0
  MessageRequester("fehler", "kann image nicht erstellen.")
  End
EndIf

UseImage(#result)
StartDrawing( ImageOutput() )
  UseImage(#links)
  DrawImage( ImageID(),  0,0)
  UseImage(#mitte)
  For i=1 To width-2
    DrawImage(ImageID(), i*w,0)
  Next
  UseImage(#rechts)
  DrawImage( ImageID(), (width-1)*w,0)
StopDrawing()


file.s=SaveFileRequester("save result...", "", "*.bmp|*.bmp",0)
If LCase(GetExtensionPart(file))<>"bmp"
  file+".bmp"
EndIf
If file
  If SaveImage(#result, file)
    RunProgram(file)
  EndIf
EndIf

Verfasst: 27.11.2006 13:55
von Tsuki-Namida
super ihr seit klasse!!!
vielen lieben Dank

Verfasst: 27.11.2006 13:55
von Kaeru Gaman
nachdem ich ne stunde was anderes zu tun hatte, ist das problem nicht
nur verständlich dargelegt worden, sondern auch schon gelöst. :D

Verfasst: 27.11.2006 14:05
von Kiffi
> Sodele, nun hab ich den Button noch verschiebbar gemacht.

schön! Gefällt mir :)

Kleiner Verbesserungsvorschlag: Ich habe noch einen Left- und Top-Offset
hinzugefügt, damit der Button beim ersten Move nicht springt, sondern an
der Stelle verschoben wird, wo man ihn mit der Maus 'anfasst':

Code: Alles auswählen

[...]
          Case 1
            If EventType() = #PB_EventType_LeftClick
              lOffset = WindowMouseX(0) - GadgetX(1)
              tOffset = WindowMouseY(0) - GadgetY(1)
              StartMoving = #True
            EndIf
        EndSelect
      Case #WM_MOUSEMOVE
        If StartMoving
          ResizeGadget(1, WindowMouseX(0) - lOffset, WindowMouseY(0) - tOffset, #PB_Ignore, #PB_Ignore)
        EndIf
[...]
Grüße ... Kiffi

Verfasst: 27.11.2006 14:18
von HeX0R
Habs oben eingebaut.
:allright:

Verfasst: 27.11.2006 14:20
von Kaeru Gaman
witziger weise passt das zu button-teilen, die ich schon im frühjahr mal gemacht hatte.

sind nur fünf farben drin, is fürn screen-mode.
wer spaß dran hat, kann se gerne verwenden.

Bild

Verfasst: 28.11.2006 17:51
von Xaby
Helft mir mal bitte.

Ich sehe keinen Knopf.

Nur ein leeres Eingabefeld und die Überschrift Whatever.
Hab einen Knopf [X] zum Schließen des Programms.

Egal wie ich die Maus bewege oder wohin ich klicke, es passiert nix.
Stell ich mich an?

:shock: