Italia
Fonte/ Codesnippets

Bestimmen Dragging Größenverhältnis Multiedits Per

 

KompilierenMarkierenSeparieren
###################################################################
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 dankbar wenn du es bearbeitest und die email adresse rauslöscht, danke!
 
09.05.2006  
 



Kein Problem! So ok?
 
09.05.2006  
 



Zum Quelltext


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

3.656 Views

Untitledvor 0 min.
Walter11.12.2022
H.Brill31.12.2021
Torsten Boo20.08.2013
E.T.04.01.2012
Di più...

Themeninformationen

Dieses Thema hat 3 subscriber:

iF (1x)
Sven Bader (1x)
unbekannt (1x)


Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie