Français
Forum

Contrôle gleichmässig verteilen Raster

 

Jörg
Sellmeyer
Salut,

je veux Controls un certain Taille sur einer vorgegebenen Strecke gleichmäßig verteilen. cela klappt aussi mais es scheint mir et avec ca unelegant trop son. Gibt es une bessere Solution comme cet ganze Rechnerei?
Proc RClickedMultiItem

    Paramètres b&[],wparam&
    Déclarer I%
    I% = IndexOf(b&[],wparam&)

    Si (%childMessage = 516) And (I% > -1)

        Retour wparam&

    Endif

ENDPROC

Proc ClickedMultiItem

    Paramètres b&[],getfocus%
    Déclarer I%
    I% = IndexOf(b&[],getfocus%)

    Si (I%) > -1

        Retour Clicked(getfocus%)

    EndIf

ENDPROC

Class Raster = count%,\
Raster@

Proc Raster.Raster

    Paramètres parent&,grp&[],breite%,hoehe%,top%,rasterweite%,rasterhoehe%,minRand%,minAbstand%
    Déclarer anzahl%,facteur!,la distance%,reste%,rebord%
    Cas breite% = 0:breite% = Width(parent&)
    Cas hoehe% = 0:hoehe% = Width(parent&)
    Cas rasterhoehe% = 0:rasterhoehe% = rasterweite%
    Décembre breite%,minRand%
    anzahl% = breite% \ rasterweite%
    reste% = breite% - rasterweite% * anzahl%
    la distance% = reste% \ (anzahl% + 1)

    Si la distance% < minAbstand%

        Décembre breite%,minAbstand%
        anzahl% = breite% \ rasterweite%
        reste% = breite% - rasterweite% * anzahl%
        la distance% = reste% \ (anzahl% + 1)

    EndIf

    facteur! = NachKomma(reste% / (anzahl% + 1)) * anzahl%
    rebord% = facteur! \ 2 + minRand%

    WhileLoop 0,anzahl%-1

        grp&[&Boucle] = Créer("Button",%hwnd,Str$(&Boucle + 1),rebord% + la distance% + &Boucle * (rasterweite% + la distance%),top%,rasterweite%,rasterhoehe%)

    Wend

    .count% = SizeOf(grp&[])
    Retour .count%

ENDPROC

Proc NachKomma

    Paramètres f!
    Retour f! - Int(f!)

ENDPROC

Déclarer btn&[]
Déclarer grp#
Fenêtre Style $1F
Fenêtre 400 + Tour(600),600
Cls
grp# = New(Raster,%hwnd,btn&[],0,0,120,96,96,4)
Imprimer grp#.count%,SizeOf(btn&[])
Randomiser

Tandis que 1

    WaitInput

    Si ClickedMultiItem(btn&[],%getfocus)

        Titre de la fenêtre GetText $(%getfocus)

    ElseIf GetFocus(%hwnd)

        DestroyWindow(btn&[])
        Dispose grp#
        Fenêtre 400 + Tour(600),600
        Cls
        Claire btn&[]
        grp# = New(Raster,%hwnd,btn&[],0,0,120,96,96,4,8)
        Imprimer grp#.count%,SizeOf(btn&[])

    EndIf

Wend

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



si es pas per HTML son "darf", womit es un "Klax" wäre, ensuite venez on um CreateWindow bzw. SetWindowPos imho pas herum.
 
29.05.2018  
 



répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

2.737 Views

Untitledvor 0 min.
Stringray05.01.2022
iF31.10.2020
Jörg Sellmeyer23.06.2020
RudiB.04.04.2020
plus...

Themeninformationen

cet Thema hat 2 participant:

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


Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie