| |
|
|
Jörg Sellmeyer | ¡Hola,
Yo voluntad Controls una cierta Größe en uno vorgegebenen Strecke gleichmäßig verteilen. Das klappt auch pero scheint me todavía algo unelegant a ser. Gibt lo una bessere Solución como esta todo Rechnerei?
Proc RClickedMultiItem
Parámetros b&[],wparam&
Declarar I%
I% = IndexOf(b&[],wparam&)
If (%childMessage = 516) And (I% > -1)
Volver wparam&
Endif
ENDPROC
Proc ClickedMultiItem
Parámetros b&[],getfocus%
Declarar I%
I% = IndexOf(b&[],getfocus%)
If (I%) > -1
Volver Clicked(getfocus%)
EndIf
ENDPROC
Class Raster = count%,\
Raster@
Proc Raster.Raster
Parámetros parent&,grp&[],breite%,hoehe%,top%,rasterweite%,rasterhoehe%,minRand%,minAbstand%
Declarar anzahl%,faktor!,abstand%,rest%,rand%
Case breite% = 0:breite% = Width(parent&)
Case hoehe% = 0:hoehe% = Width(parent&)
Case rasterhoehe% = 0:rasterhoehe% = rasterweite%
Dec breite%,minRand%
anzahl% = breite% \ rasterweite%
rest% = breite% - rasterweite% * anzahl%
abstand% = rest% \ (anzahl% + 1)
If abstand% < minAbstand%
Dec breite%,minAbstand%
anzahl% = breite% \ rasterweite%
rest% = breite% - rasterweite% * anzahl%
abstand% = rest% \ (anzahl% + 1)
EndIf
faktor! = NachKomma(rest% / (anzahl% + 1)) * anzahl%
rand% = faktor! \ 2 + minRand%
WhileLoop 0,anzahl%-1
grp&[&Loop] = Crear("Button",%hwnd,Str$(&Loop + 1),rand% + abstand% + &Loop * (rasterweite% + abstand%),top%,rasterweite%,rasterhoehe%)
Wend
.count% = SizeOf(grp&[])
Volver .count%
ENDPROC
Proc NachKomma
Parámetros f!
Volver f! - Int(f!)
ENDPROC
Declarar btn&[]
Declarar grp#
Ventana de Estilo $1F
Ventana 400 + Rnd(600),600
Cls
grp# = New(Raster,%hwnd,btn&[],0,0,120,96,96,4)
Imprimir grp#.count%,SizeOf(btn&[])
Selección aleatoria
Mientras que 1
WaitInput
If ClickedMultiItem(btn&[],%getfocus)
Título de la ventana GetText $(%getfocus)
ElseIf GetFocus(%hwnd)
DestroyWindow(btn&[])
Disponer grp#
Ventana 400 + Rnd(600),600
Cls
Claro btn&[]
grp# = New(Raster,%hwnd,btn&[],0,0,120,96,96,4,8)
Imprimir grp#.count%,SizeOf(btn&[])
EndIf
Wend
|
|
|
| |
|
|
|
| Wenn no por HTML ser "darf", womit lo una "Klax" wäre, entonces kommt uno en CreateWindow o. SetWindowPos imho no herum. |
|
|
| |
|
|