Foro | | | |  Ulrich Milde | Yo una fest verdrahtetes Programa geschrieben, con el Yo el gleichmässige Verteilung de Bohrungen en un Rechteckrahmen hinbekomme. In mi caso es a Umrahmung uno Oberlichtes con LEDs, como una Sternenhimmel. Das funktioniert soweit, cómo hier sehen kann. [...]  Nun bin Yo esta, dieses Programa allgemeiner umzubauen. Los es con el Rechteckrahmen. Yo benutze una Mausmenü, qué con el rechten taste aufgerufen se. Wenns en el äusseren Rahmen va es alles ok. Zum inneren Rahmen komme Yo no así bastante, porque entonces el menü no mehr aufgerufen voluntad kann. Noch uno, CheckMenu funktioniert anscheinend no con unahängigen PopUp Menüs. Ist el así?
Yo hänge el Program a, en el Procs Mausrechtinnen y Mausrechtaussen voluntad sólo Rechtecke suscrito. Como kanns eigentlich No encienda mentira.
Yo danke ya veces para el Ayuda! KompilierenMarcaSeparación
Proc Mausrechtaussen
Declare aktmxpos%,aktmypos%
aktmxpos%=%mousex
aktmypos%=%mousey
If (aktmxpos% > myxspos%) and (aktmypos% > myyspos%)
UsePen 0,1, RGB(255,255,255)
Rectangle myxspos%,myyspos% - Lxpos1%, Lypos1%
UsePen 2,1, RGB(90,53,202)
Line myxspos%,myyspos% - %maxx, myyspos%
Line myxspos%,myyspos% - myxspos%, %maxy
UsePen 0,1, RGB(0,0,0)
Rectangle myxspos%,myyspos% - aktmxpos%, aktmypos%
Lxpos1%= aktmxpos%
Lypos1%= aktmypos%
DrawText %maxx - 120,3, " "
DrawText %maxx - 120,3, " X = "+ Str$(aktmxpos% - myxspos%)+ " Y = "+Str$(aktmypos% - myyspos%)
Endif
Endproc
Proc Mausrechtinnen
Declare aktmxpos%,aktmypos%
aktmxpos%=%mousex
aktmypos%=%mousey
If (aktmxpos% > myxspos%) and (aktmypos% > myyspos%) and (Lxpos2% > aktmxpos%) and (Lypos2% > aktmypos%)
If (Lxpos2% > aktmxpos%+2) and (Lypos2% > aktmypos%+2)
UsePen 0,1, RGB(255,255,255)
Rectangle myxspos%,myyspos% - Lxpos1%, Lypos1%
UsePen 2,1, RGB(90,53,202)
Endif
Line myxspos%,myyspos% - %maxx, myyspos%
Line myxspos%,myyspos% - myxspos%, %maxy
UsePen 0,1, RGB(0,0,0)
Rectangle myxspos%,myyspos% - aktmxpos%, aktmypos%
Lxpos1%= aktmxpos%
Lypos1%= aktmypos%
DrawText %maxx - 120,3, " "
DrawText %maxx - 120,3, " X = "+ Str$(aktmxpos% - myxspos%)+ " Y = "+Str$(aktmypos% - myyspos%)
Endif
Endproc
Declare WTitel$, Ende%, myxspos%,myyspos%, lastxpos%,lastypos%
Declare Lxpos1%,Lxpos2%,Lypos1%,Lypos2%
Declare zaussen%,zinnen%
Set("Decimals",0)
Lxpos1%=myxspos%
Lypos1%=Myyspos%
myxspos%=9
myyspos%=9
Lastxpos%=-1
zaussen%=0
zinnen%=0
WTitel$="LEDRect - grafische LED Verteilung in einem Rahmen um ein Oberlicht - 2010 by UKM "
WindowStyle 8
Window 1,1 - %maxx,%maxy
Windowtitle WTitel$
PopUp "RectangleLEDs"
AppendMenu 100, "Rechteck aussen setzen"
Appendmenu 102, "Rechteck innen setzen"
cls
UsePen 2,1, RGB(90,53,202)
Line myxspos%,myyspos% - %maxx, myyspos%
Line myxspos%,myyspos% - myxspos%, %maxy
UsePen 0,1, RGB(0,0,0)
WHILENOT ENDE%
WAITKey
If %KEY=2
ENDE%= 1
ElseIf %key=27
Ende%=1
ElseIf %MouseKey = 2
CreateMenu
AppendMenu 101,"Rechteck &aussen"
AppendMenu 102,"Rechteck &innen"
AppendMenu 103,"&LEDs"
Separator
AppendMenu 109,"&Ende"
TrackMenu %MouseX,%MouseY
If MenuItem(101)
If zaussen%=0
zaussen%=1
Checkmenu 101,1
Else
zaussen%=0
Checkmenu 101,0
Endif
ElseIf MenuItem(102)
If zinnen%=0
zinnen%=1
zaussen%=0
Lxpos2%=Lxpos1%
Lypos2%=Lypos1%
Else
zinnen%=0
zaussen%=1
EndIf
ElseIf @MenuItem(109)
Ende% = 1
Else
Print "Ausgewählt:",%MenuItem
EndIf
Else
EndIf
If zaussen%=1
Mausrechtaussen
Endif
If Zinnen%=1
Mausrechtinnen EndIf
ENDWHILE
|
| | | | |
| |  Thomas Freier | Usted mußt el MenuCheck- Zustand en uno Variables hinterlegen, como lo en el Bucle cada veces neu erstellt se. KompilierenMarcaSeparación |
| | | | |
| |  Ulrich Milde | Sí, dankeschön, Yo wär no en el Concepto con el Variables gekommen. Das Mausmenü se ejecuta y sonst nähren el Rechtecke siempre mehr el Rahmen a, el ellos forma debería. Yo häng el nun ya una wenig mejor tickende Proggi unten otra vez a, si alguien ähnliche Problemas Yo haben debería.
Gracias y tschüss KompilierenMarcaSeparación
Proc Rechteckaussen
Declare aktmxpos%,aktmypos%
aktmxpos%=%mousex
aktmypos%=%mousey
If (aktmxpos% > myxspos%) and (aktmypos% > myyspos%)
UsePen 0,1, RGB(255,255,255)
Rectangle myxspos%,myyspos% - Lxpos1%, Lypos1%
UsePen 2,1, RGB(90,53,202)
Line myxspos%,myyspos% - %maxx, myyspos%
Line myxspos%,myyspos% - myxspos%, %maxy
UsePen 0,1, RGB(0,0,0)
Rectangle myxspos%,myyspos% - aktmxpos%, aktmypos%
Lxpos1%= aktmxpos%
Lypos1%= aktmypos%
DrawText %maxx - 120,3, " "
DrawText %maxx - 120,3, " X = "+ Str$(aktmxpos% - myxspos%)+ " Y = "+Str$(aktmypos% - myyspos%)
Endif
Endproc
Proc Rechteckinnen
Declare aktmxpos%,aktmypos%,xdiff%,ydiff%
aktmxpos%=%mousex
aktmypos%=%mousey
xdiff%=Lxpos1%-aktmxpos%
If (aktmxpos% <= Lxpos1%) and (aktmypos% <= Lypos1%)
UsePen 0,1, RGB(255,255,255)
Rectangle myxspos%,myyspos% - Lxpos2%, Lypos2%
UsePen 2,1, RGB(90,53,202)
Line myxspos%,myyspos% - %maxx, myyspos%
Line myxspos%,myyspos% - myxspos%, %maxy
UsePen 0,1, RGB(0,0,0)
Rectangle myxspos%,myyspos% - Lxpos1%, Lypos1%
Rectangle myxspos%+xdiff%,myyspos%+xdiff% - aktmxpos%, aktmypos%
Lxpos2%= aktmxpos%
Lypos2%= aktmypos%
DrawText %maxx - 270,3, " "
DrawText %maxx - 270,3, " XDiff = "+Str$(xdiff%)+ " X = "+ Str$(aktmxpos% - myxspos%)+ " Y = "+Str$(aktmypos% - myyspos%)
Endif
Endproc
SET("ERRORLEVEL",1)
Declare WTitel$, Ende%, myxspos%,myyspos%, lastxpos%,lastypos%
Declare Lxpos1%,Lxpos2%,Lypos1%,Lypos2%,zeichne%
Declare zaussen%,zinnen%
Set("Decimals",0)
Lxpos1%=myxspos%
Lypos1%=Myyspos%
myxspos%=9
myyspos%=9
Lastxpos%=-1
zaussen%=0
zinnen%=0
WTitel$="LEDRect - grafische LED Verteilung in einem Rahmen um ein Oberlicht - 2010 by UKM "
WindowStyle 8
Window 1,1 - %maxx,%maxy
Windowtitle WTitel$
PopUp "RectangleLEDs"
AppendMenu 100, "Rechteck aussen setzen"
Appendmenu 102, "Rechteck innen setzen"
cls
UsePen 2,1, RGB(90,53,202)
Line myxspos%,myyspos% - %maxx, myyspos%
Line myxspos%,myyspos% - myxspos%, %maxy
UsePen 0,1, RGB(0,0,0)
WHILENOT ENDE%
WAITKey
If %KEY=2
ENDE%= 1
ElseIf %key=27
Ende%=1
ELSEIF %KEY=4
ElseIf %MousePressed = 1
If zaussen% = 1
Rechteckaussen
Endif
If zinnen% =1
Rechteckinnen
Endif
ElseIf %MousePressed = 2
CreateMenu
AppendMenu 101,"Rechteck &aussen"
AppendMenu 102,"Rechteck &innen"
AppendMenu 103,"&LEDs"
Separator
AppendMenu 109,"&Ende"
CheckMenu 101,zaussen%
CheckMenu 102,zinnen%
TrackMenu %MouseX,%MouseY
If MenuItem(101)
If zaussen%=0
zaussen%=1
Else
zaussen%=0
Lxpos2%=9
Lypos2%=9
Endif
ElseIf MenuItem(102)
If zinnen%=0
zinnen%=1
Else
zinnen%=0
EndIf
ElseIf @MenuItem(109)
Ende% = 1
Else
Print "Ausgewählt:",%MenuItem
EndIf
class=s4 href='./../../references-fonction/XProfan/endif/'>Endif
ENDWHILE
|
| | | | |
|
RespuestaThemeninformationenDieses Thema ha 2 subscriber: |