Français
Source/ Codesnippets

Bestimmen Dragging Größenverhältnis Multiedits Per

 

KompilierenMarqueSéparation
###################################################################
EDIT SIZE RATIO
Das Größenverhältnis zweier Multiedits oder Listboxen durch Ziehen
mit der Maus einstellen.
Copyright Sven Bader 2004
Dieser Quelltext ist Freeware. Bei Verwendung bitte Quelle angeben.
Kritik und Anregungen an: http://www.svenbader.de
Für eventuell auftretende Schäden wird keine Haftung übernommen.
###################################################################
DEF GetKeyState(1)       !USER32,GetKeyState
DEF GetCursorPos(1)      !USER32,GetCursorPos
DEF GetWindowRect(2)     !USER32,GetWindowRect
declare a&,b&,mousepos#,x&,y&,a#,b#,drag%,cur%,start%,a%[2,2],b%[2,2]
dim mousepos#,8
dim a#,16
dim b#,16
SetTrueColor 1
WindowStyle 24
WindowTitle Editbox Seitenverhältnis
Window (%MaxX / 2 - 320), (%MaxY / 2 - 240) - 640,480 Fenster in Bildschirmmitte anzeigen
cls rgb(192,192,192)
UseFont Verdana,13,0,0,0,0
SetDialogFont 1
SetErrorlevel 0 Wichtig wegen negativer Fenstergröße

Proc Drag Größe der Edits ändern

    a%[2,1] = a%[2,1] + (x& - start%)
    b%[1,1] = b%[1,1] + (x& - start%)
    b%[2,1] = b%[2,1] - (x& - start%)
    SetWindowPos a& = a%[1,1],a%[1,2]-a%[2,1],a%[2,2];0
    SetWindowPos b& = b%[1,1],b%[1,2]-b%[2,1],b%[2,2];0
    start% = x&

EndProc

Größe und Position der beiden Edits
a%[1,1] = 4
a%[1,2] = 48
a%[2,1] = 310
a%[2,2] = 380
b%[1,1] = 320
b%[1,2] = 48
b%[2,1] = 310
b%[2,2] = 380
create(Text,%hwnd,Verschiebung zweier MultiEdits in Echtzeit ohne SplitBar. Ganz wie im Explorer!
Fragen, Kommentare oder Verbesserungsvorschläge an http://svenbader.de,5,10,600,32)
a& = create(MultiEdit,%hwnd,,a%[1,1],a%[1,2],a%[2,1],a%[2,2])
b& = create(MultiEdit,%hwnd,,b%[1,1],b%[1,2],b%[2,1],b%[2,2])

While %scankey <> 27

    sleep 20 CPU Entlasten
    GetCursorPos(mousepos#)
    x& = Long(mousepos#,0)   Maus Position X
    y& = Long(mousepos#,4)   Maus Position Y
    Position und Größe der Editfelder in Bereiche schreiben. GetWindowRect eignet sich sehr gut, da es
    so wie die Mauskoordinaten auf die absolute Position auf dem Desktop bezieht.
    GetWindowRect(a&,a#)
    GetWindowRect(b&,b#)

    If (x& > Long(a#,8)) & (x& < Long(b#,0)) & (y& > Long(a#,4)) & (y& < Long(b#,12)) Maus zwischen Editfeldern

        If (GetKeyState(1) > 1) & (drag% = 0) Maustaste gedrückt und Zieh-Modus noch nicht aktiv

            start% = x&
            UseCursor 9
            cur%  = 1
            drag% = 1

        Else

            cur%  = 1
            UseCursor 9 nichts gedrückt, nur Icon zeichnen

        Endif

    ElseIf (GetKeyState(1) > 1) & (drag% = 1) Im Zieh-Mouds? Editgrößen mit dem Drag-Proc anpassen

        cur%  = 1
        UseCursor 9
        Drag

    Else

        nichts gedrückt? Wieder Zieh-Modus beenden und alten Cursor herstellen.
        case cur% : UseCursor 0 Cursor bereits wieder normal?
        drag% = 0
        cur% = 0

    Endif

EndWhile

Dispose a#
Dispose b#
Dis
a> b# Dispose mousepos#
 
06.08.2004  
 




Sven
Bader
hi. wäre dir reconnaissant si du es bearbeitest et qui email adresse rauslöscht, merci!
 
09.05.2006  
 



ne...aucune Problem! So ok?
 
09.05.2006  
 



Zum Quelltext


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

3.662 Views

Untitledvor 0 min.
Walter11.12.2022
H.Brill31.12.2021
Torsten Boo20.08.2013
E.T.04.01.2012
plus...

Themeninformationen

cet Thema hat 3 participant:

iF (1x)
Sven Bader (1x)
unbekannt (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