Español
Foro

Control gleichmässig verteilen Raster

 

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

 
XProfan X3
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
16.05.2018  
 



Wenn no por HTML ser "darf", womit lo una "Klax" wäre, entonces kommt uno en CreateWindow o. SetWindowPos imho no herum.
 
29.05.2018  
 



Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

2.740 Views

Untitledvor 0 min.
Stringray05.01.2022
iF31.10.2020
Jörg Sellmeyer23.06.2020
RudiB.04.04.2020
Más...

Themeninformationen

Dieses Thema ha 2 subscriber:

iF (1x)
Jörg Sellmeyer (1x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie