Button drücken funzt nicht
Übersicht

maviBetreff: Button drücken funzt nicht |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo ihrs,
Ich habe folgenes Problem, ich habe einen ButtonFunktion geschrieben, wenn ich mit der Maus drüber fahre, dann öffnet sich wie gewünscht ein neues fenster, aber wenn ich an die abfrage ein MouseHit(1) oder MouseDown(1) dranhänge funktioniert es nicht! Könnt ihr mir weiter helfen? Code: [AUSKLAPPEN] Function button(button_x,button_y,button_width, button_height,button_text$)
Rect button_x,button_y,button_width,button_height,0 Text button_x+5,button_y+5, button_text$ If mx>button_x And my>button_y And mx<button_x+button_width And my<button_y+button_height Then button_w=True EndIf If button_w Then CreateWindow(200,50,250,200,"Button INC",192,192,192) EndIf End Function |
||
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Kann es sein das du Mousehit schon mal wo anders in deinem Programm benützt?
bei mehrmaligem abrufen klappt das ganze nicht richtig (in einer schleife) mh=Mousehit(1) und anstatt jedes mal mousehit abzurufen schaust du was in mh steht mfg ozzi |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
![]() |
hazumu-kun |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dein Createwindow hat so viele Parameter, es scheint das du dir selber was gebastelt hast,
ohne mehr Code kann ich nur sagen das deine If-Abfrage so lauten könnte: BlitzBasic: [AUSKLAPPEN]
EDIT: MIST! Zu langsam! |
||
Warum kann es keine omnipotente Macht geben?
Weil diese omnipotente Macht in der Lage sein müsste, einen so schweren Stein zu schaffen, dass sie ihn nicht heben kann -> nicht omnipotent |
mavi |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
mousehit oder mousedown habe ich KEIN weiteres mal benutzt! | ||
![]() |
hazumu-kun |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dann musst du mehr von deinem Code posten.
Vielleicht ist in der Hauptschleife was kaputt. <offtopic> Immer diese Nachtaktiven! ![]() |
||
Warum kann es keine omnipotente Macht geben?
Weil diese omnipotente Macht in der Lage sein müsste, einen so schweren Stein zu schaffen, dass sie ihn nicht heben kann -> nicht omnipotent |
![]() |
M0rgenstern |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also, villeicht solltest du die Abfrage für Mousedown bzw Mousehit mitposten, denn ich kann die in deinem Code nirgendwo finden.
Ich mach das immer so: Ich geb jedem Button eine Variable. Von mir aus LoadOver. Wenn die Maus dann über dem LadeButton ist, dann ist LoadOver 1 Und dann halt die Abfrage für jeden Button: Code: [AUSKLAPPEN] If Mousedown(1) and LoadOver = 1 then . . .
Und sobald die Maus nicht mehr auf dem Button ist einfach die Variable auf 0 setzen. Das funktioniert prima. Lg, M0rgenstern |
||
mavi |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Code: [AUSKLAPPEN] AppTitle "Database"
Code: [AUSKLAPPEN] Graphics 800,600,16,0 SetBuffer BackBuffer() ;'''''''''''''''' Include "C:\Dokumente und Einstellungen\notebook\Eigene Dateien\BB\GUI\gui.bb" ;'''''''''''''''' Global timer=CreateTimer(25) ;''''MAINLOOP'''' Repeat CreateWindow(0,0,800,600,"my.Database",192,192,192) table(190,50,6,10) WaitTimer(timer) Flip:Cls Until KeyHit(1):End Global border = LoadImage("border.jpg")
font1 = LoadFont("Verdana") SetFont font1 Global texts$ Global apptxtx,apptxty Global mh = MouseDown(1) Global mx,my Global button_x, button_y, button_width, button_height, button_text$ Function CreateWindow(x,y,gx,gy,title$,r,b,g) APPTXTX = x APPTXTY = y For i = 1 To gx DrawImage border, x,y x=x+1 Next Text APPTXTX+2.5,APPTXTY+2.5, title$ Color r,b,g Rect APPTXTX+0.25,APPTXTY+20,gx,gy,1 Color 255,255,255 End Function Function IO(tfx,tfy) local_key = GetKey() If local_key >= 32 And local_key < 127 Then antwort$ = Chr$ (local_key) texts$ = texts$ + antwort$ EndIf If KeyHit(211) Or KeyHit(14) Then If Len(texts$) > 0 Then texts$ = Left(texts$,Len(texts$)-1) EndIf EndIf ;CORDS für Eingaberoutine eingeben Rect tfx,tfy, 150,20,0 Text tfx+5,tfy+5, texts$ If KeyHit(28) Then newtext$ = texts$ EndIf Text 10,10, newtext$ End Function Function table(table_x,table_y,fields,rows) tyv = table_y For ii = 1 To fields For i=1 To rows Rect table_x, table_y, 100,25,0 table_y = table_y + 25 Next table_x = table_x + 100 table_y = tyv Next End Function Function button(button_x,button_y,button_width, button_height,button_text$) Rect button_x,button_y,button_width,button_height,0 Text button_x+5,button_y+5, button_text$ If mx>button_x And my>button_y And mx<button_x+button_width And my<button_y+button_height And KeyHit(57) Then button_w=True EndIf If button_w Then CreateWindow(200,50,250,200,"Button INC",192,192,192) EndIf End Function |
||
![]() |
Thunder |
![]() Antworten mit Zitat ![]() |
---|---|---|
mx, my und mh nehmen nicht einfach die Werte an, die du haben willst. Du musst sie ihnen schon zuweisen:
BlitzBasic: [AUSKLAPPEN]
Aja. Falls du deine GUI häufiger verwenden willst, also für mehrere Projekte, würde ich dir empfehlen die aktualisierung dieser Variablen in eine GUI-Funktion zu verlegen. mfg Thunder |
||
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group