Mit Maus im Fenster arbeiten

Anfängerfragen zum Programmieren mit PureBasic.
PB42
Beiträge: 243
Registriert: 13.10.2005 03:21

Mit Maus im Fenster arbeiten

Beitrag von PB42 »

Hallo, in folgendem Source möchte ich übungshalber die Klaviertaste ganz links mit der Maus ansprechen können und kriege das zum Verrecken nicht hin. Ob das irgendwie mit EventType() und WindowMouse() geht? Ich KANN das einfach nicht erraten. Genau das hatte ich übrigens befürchtet, daß mir Riesenprobleme dabei entstehen. So blöd das Übungsbeispiel auch ist, aber es soll sich eine weitere weiße Taste ganz rechts bilden, wenn die erste weiße Taste von links angeklickt wird. Es geht nur darum, daß ich lerne, wie die Maus eingebunden wird. Der Code:

Code: Alles auswählen

InitSprite()
InitMouse()
OpenWindow(0,0,0,800,600,#PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_MaximizeGadget,"")
OpenWindowedScreen(WindowID(0), 0, 0, 700, 200, 0, 0, 0)

Repeat
eventID = WaitWindowEvent()
EventType()
  
    ClearScreen(0,0,0)
    StartDrawing(ScreenOutput())
    FrontColor(255,255,255)
    CreateSprite(0,20,20)
    DisplaySprite(0,MouseX()-15,MouseY()-15)   
    
    Box(0,0,50,200)
    Box(51,0,50,200)
    Box(102,0,50,200)
    Box(153,0,50,200)
    Box(204,0,50,200)
    Box(255,0,50,200)
    Box(306,0,50,200)
    Box(357,0,50,200)
    
    FrontColor(0,0,0)
    Box(32,0,36,130)
    Box(83,0,35,130)
    Box(134,0,35,130)
    
    Box(235,0,35,130)
    Box(286,0,35,130)  
  StopDrawing()
  FlipBuffers()
  
  If MouseButton(1) And WindowMouseX() > 0 And WindowMouseX() < 50 And WindowMouseY() > 0 And WindowMouseY() < 200
  StartDrawing(WindowOutput())
  FrontColor(255,255,255)
  Box(408,0,50,200)  
  StopDrawing()
  EndIf  
 
Until eventID = #PB_EventCloseWindow
Irgendwie muß das doch schließlich gehen. Danke für Infos.

PB42
Benutzeravatar
roherter
Beiträge: 1407
Registriert: 10.04.2005 18:58
Kontaktdaten:

Beitrag von roherter »

ist auch klar das du vorher nix gesehn hast du hast den mauscursor ja auch immer wieder übermalt!

Code: Alles auswählen

InitSprite()
InitMouse()
OpenWindow(0,0,0,800,600,#PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_MaximizeGadget,"")
OpenWindowedScreen(WindowID(0), 0, 0, 700, 200, 0, 0, 0)
 CreateSprite(1,20,20)
Repeat
  eventID = WaitWindowEvent()
  EventType()
  ExamineMouse()
  ClearScreen(0,0,0)
  StartDrawing(ScreenOutput())
  FrontColor(255,255,255)
 
  
  
  Box(0,0,50,200)
  Box(51,0,50,200)
  Box(102,0,50,200)
  Box(153,0,50,200)
  Box(204,0,50,200)
  Box(255,0,50,200)
  Box(306,0,50,200)
  Box(357,0,50,200)
  
  FrontColor(0,0,0)
  Box(32,0,36,130)
  Box(83,0,35,130)
  Box(134,0,35,130)
  
  Box(235,0,35,130)
  Box(286,0,35,130) 
  StopDrawing()
  DisplaySprite(1,MouseX(),MouseY())   
  FlipBuffers()
  
  If MouseButton(1) And WindowMouseX() > 0 And WindowMouseX() < 50 And WindowMouseY() > 0 And WindowMouseY() < 200
    StartDrawing(WindowOutput())
    FrontColor(255,255,255)
    Box(408,0,50,200) 
    StopDrawing()
  EndIf 
  
Until eventID = #PB_EventCloseWindow

Purebasic 5.0 32bit und 64 bit

I'm back from hell
PB42
Beiträge: 243
Registriert: 13.10.2005 03:21

Beitrag von PB42 »

Das war Spitze! Vielen Dank, 100 Punkte und :allright:

PB42
Benutzeravatar
roherter
Beiträge: 1407
Registriert: 10.04.2005 18:58
Kontaktdaten:

Beitrag von roherter »

kein problem wenn du mal wieder was hast helfe ich gern!
Purebasic 5.0 32bit und 64 bit

I'm back from hell
Antworten