Hallo,
Hab da eine Seite gefunden mit div. DLLs.
Ist gedacht für .NET, Delphi und VC++.
Kann man sowas auch für PB nutzen ?
Bin leider kein Experte in oben genannten
Sprachen.
http://www.mitov.com/html/instrumentla ... hots.html
Anzeige - Instrumente
Anzeige - Instrumente
PB 6.10
Re: Anzeige - Instrumente
DLLs, die in anderen Sprachen geschrieben wurden, kann man in PB nutzen (bitte verbessern wenn nicht;)
Du kannst die DLL Funktionen mit OpenLibrary(...) CallFunction(...) aufrufen.
Aber wenn du so eine Anzeige in dein Programm einbinden möchtest, bist du glaub ich besser dran wenn dus direkt in PB machst.
Hier ein schnell zusammengewuschteltes Beispiel (Coole Effekte usw kann man danach problemlos einbauen):
Du kannst die DLL Funktionen mit OpenLibrary(...) CallFunction(...) aufrufen.
Aber wenn du so eine Anzeige in dein Programm einbinden möchtest, bist du glaub ich besser dran wenn dus direkt in PB machst.
Hier ein schnell zusammengewuschteltes Beispiel (Coole Effekte usw kann man danach problemlos einbauen):
Code: Alles auswählen
;/// Init
InitMouse()
InitSprite()
OpenScreen(800,600,32,"Instrumente")
;/// Instrument
MaxStufen = 500
Stufe = 1
IstZiehend.b = #False
InstrumentRadius=200
;/// Hauptschleife
Repeat
;/// Render
FlipBuffers()
ClearScreen($000000)
StartDrawing(ScreenOutput())
;/// Zeichne Umgebung
DrawingMode(#PB_2DDrawing_Outlined)
RoundBox((149-5), 550, 501+10, 20, 2, 2, $8E8E8E)
DrawingMode(#PB_2DDrawing_Default)
RoundBox(149+Stufe-5, 551, 10, 18, 2, 2, $595959)
Line(XMouse, YMouse, 5, 5, $FFFFFF) ;Maus
;/// Zeichne Instrument
DrawingMode(#PB_2DDrawing_Outlined)
Line(400, 260, Sin(Angle.f)*(InstrumentRadius-10), -Cos(Angle.f)*(InstrumentRadius-10), $FFFFFF)
Line(400, 260, 0, -InstrumentRadius-100, $FFFFFF)
Circle(400, 260, InstrumentRadius, $FFFFFF)
Circle(400, 260, InstrumentRadius+5, $FFFFFF)
DrawText(10, 10, "Stufe: "+Str(Stufe)+" / "+Str(MaxStufen), $FFFFFF)
DrawText(10, 70, "Bogenmaß: "+StrF(Angle.f), $FFFFFF)
DrawText(10, 50, "Winkel: "+StrF(Degree(Angle.f))+"°", $FFFFFF)
StopDrawing()
;/// Regler Updaten
If IstZiehend = #True
Stufe = XMouse-150
If Stufe < 1
Stufe = 1
ElseIf Stufe > MaxStufen
Stufe = MaxStufen
EndIf
EndIf
;/// Errechne Zeiger Winkel
Angle.f = Radian((Stufe-1)/((MaxStufen-1)/360))
;/// Examine Mouse
ExamineMouse()
XMouse = MouseX()
YMouse = MouseY()
If XMouse >= 149+Stufe-5 And XMouse <= 149+Stufe+5 And YMouse >= 550 And YMouse <= 570
IstZiehend = #True
EndIf
If IstZiehend = #True And Not MouseButton(#PB_MouseButton_Left)
IstZiehend = #False
EndIf
Until MouseButton(#PB_MouseButton_Right)
- 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
Re: Anzeige - Instrumente
Prinzipiell schon richtig, aber hierbei handelt es sich um ActiveX o. ä., die kann man nicht so einfachBobo-Jack hat geschrieben:DLLs, die in anderen Sprachen geschrieben wurden, kann man in PB nutzen (bitte verbessern wenn nicht;)
nutzen. COMate von srod wäre eine Möglichkeit oder nativ mit viel "nicht so einfacher" API.
Gruß
Thomas
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.
