The_Dark_Zim-.- hat geschrieben:Wie erstellt man Fenster die z.B. rund sind und nich so einen standart Rand wie die normalen Fenster haben?
Also zwischen rund und abgerundet, wie c4s anbietet, ist schon ein Unterschied.
Da mußt Du Dich schon entscheiden.
Hab ich in meiner Sammlung aber auch was für:
Code: Alles auswählen
;basiert auf hjbremer
;http://www.purebasic.fr/german/viewtopic.php?p=191981
hwnd = OpenWindow(0, 100, 200, 300, 300, "rundes Fenster",#PB_Window_BorderLess|#PB_Window_ScreenCentered)
HideWindow(0, 1)
hbitmap = CreateImage(1,300,300)
dc1 = StartDrawing(ImageOutput(1))
SelectObject_(dc1, GetStockObject_(#BLACK_PEN))
SelectObject_(dc1, GetStockObject_(#LTGRAY_BRUSH))
RoundRect_(dc1,10,10,280,280,25,25)
StopDrawing()
SkinWin( hWnd, hBitmap,0,0 )
CreateGadgetList(WindowID(0))
ButtonGadget(1,140,140,20,20,"X")
HideWindow(0, 0)
Repeat
Select WaitWindowEvent()
Case #PB_Event_Gadget
Select EventGadget()
Case 1
quit = #True
EndSelect
EndSelect
Until Quit = #True
CloseWindow(0)
End
oder
Code: Alles auswählen
;basiert auf marco2006
;http://www.purebasic.fr/german/viewtopic.php?p=191981
hwnd = OpenWindow(0, 100, 200, 300, 300, "rundes Fenster",#PB_Window_BorderLess|#PB_Window_ScreenCentered)
HideWindow(0, 1)
hbitmap = CreateImage(1,300,300)
x = 10
y = 10
l =280
b =280
r = 10
If StartDrawing(ImageOutput(1))
Line(x+r, y, l-2*r, 0, RGB(5,5,5))
Line(x+r, y+b, l-2*r, 0, RGB(5,5,5))
Line(x, y+r, 0, b-2*r, RGB(5,5,5))
Line(x+l, y+r, 0, b-2*r, RGB(5,5,5))
For i=0 To 90
Plot((x+r)-r*Cos(i/180*#PI), (y+r)-r*Sin(i/180*#PI), RGB(5,5,5))
Plot((x+l-r)+r*Cos(i/180*#PI), (y+r)-r*Sin(i/180*#PI), RGB(5,5,5))
Plot((x+r)-r*Cos(i/180*#PI), (y+b-r)+r*Sin(i/180*#PI), RGB(5,5,5))
Plot((x+l-r)+r*Cos(i/180*#PI), (y+b-r)+r*Sin(i/180*#PI), RGB(5,5,5))
Next
FillArea(150, 150, RGB(5,5,5), RGB(155,155,155))
StopDrawing()
EndIf
SkinWin( hWnd, hBitmap,0,0 )
CreateGadgetList(WindowID(0))
ButtonGadget(1,140,140,20,20,"X")
HideWindow(0, 0)
Repeat
Select WaitWindowEvent()
Case #PB_Event_Gadget
Select EventGadget()
Case 1
quit = #True
EndSelect
EndSelect
Until Quit = #True
CloseWindow(0)
End