Français
Forum

Erste/dernier Position dans Medit

 

Timotheus
Salut,

je suis récente ici, et habe un Problem.

j'ai une MultieditBox per Contrôle avec einem waagerechten Scrollbalken erzeugt.
ensuite habe je mir den anderen selbst tour gebastelt, et sur den voudrais je ensuite réagir.
maintenant muss je mais savons si qui Cursor dans qui Medit am Anfang, am Ende ou bien entier wohin anders steht, weil je oui den Scrollbalken größer ou bien kleiner faire muss, si quelqu'un qui Entfernen bouton sur qui letzten Position drückt, ou bien sur qui ersten qui Rückgängig bouton.

comment krieg je cela raus?

Timo
 
27.08.2004  
 




Michael
Dell
Hi,

cela Multiedit erzeugt den gewünschten Scrollbalken selbst,
allerdings seulement si il nécessaire wird!

Du brauchst alors keinen extra.

Demo:
declare med01&
cls
med01& = @Créer("MultiEdit",%HWnd,»,20,20,600,400)
SetFocus(med01&)
SendKey(med01&,35)
Sleep 1000

WhileLoop 0,30,1

    SendString(med01&,"Test1 Test1 Test1 Test1 Test1 Test1 Test1 Test1 Test1 Test1 Test1 Test1 ")
    SendString(med01&,"Test2 Test2 Test2 Test2 Test2 Test2 Test2 Test2 Test2 Test2 Test2 Test2{ENTER}")

Endwhile

SendString(med01&,"{ENTER}Test- finissez!!!!{ENTER}")

WhileNot Equ(%Key,2) Or Equ(%Key,27)

    WaitInput

Endwhile

Fin
Salut

Michael
 
Salu Michael...

Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! 
28.08.2004  
 




Timotheus
allô Michael,

avec qui MultiEdit gehts oui pas, weil je voudrais den rechten Scrollbalken selber erzeugen, avec cela je sur ihn réagir peux, et cela allez glaube je seulement avec Contrôle. et qui ScrollB muss qui sich oui aussi entier normal verhalten peut, et c'est pourquoi muss je alles quoi Windows sonst pouvoir, selber faire !

et comment bekomme je cela avec qui ersten et letzten Position raus?

Timo
 
28.08.2004  
 




Michael
Dell
allô Timotheus,

tu peux aussi per SendMessage qui Cursor- Position ermitteln et il y a aussi Messages pour qui Scrollbalken.

Cursorpos im MultiEdit: (Autor: Uwe „Pascal“ Niemeier [...] )
**********************************
window 50,50-500,300
declare Éditer%,la ligne%,marque%,Gesamt&
let Éditer%=createmultiedit(%hwnd,»,50,50,200,200)

tandis que 1

    getmessage
    sendmessage(Éditer%,176,addr(Gesamt&),0)
    locate 1,1
    let marque%=sub(Gesamt&,sendmessage(Éditer%,187,-1,0))
    let la ligne%=sendmessage(Éditer%,201,-1,0)
    locate 1,1
    imprimer "Der Cursor est sich derrière Zeichen",marque%,"in Zeile",la ligne%,"   "

endwhile

**********************************
ici un fil qui dir aussi encore aider peux: [...] 

Salut

Michael
 
Salu Michael...

Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! 
28.08.2004  
 




Timotheus
merci,

c'est oui c'est ca cela quoi je meinte!

mais könntest du aussi encore cet Scrollbalken Messages écrivons. Weil ensuite bräuchte je aussi pas alles selbst faire, et pourrait simple den rechten Scrollbalken abfragen.

Timo
 
29.08.2004  
 




Michael
Dell
là gibst bereits un schönes Beispiel aus Andreas Miethes - Contrôle.hlp:
Scroll- Beipiel aus Contrôle.hlp
Autor: Andreas Miethe
HP:    http://www.ampsoft.de (Contrôle.exe)
Scroll- Messages
NAME                  WERT     PARAMETER
SBM_SETPOS            $00E0    N3 = Position , N4 = Neuzeichnen oui(1) ou bien non(0)
SBM_GETPOS            $00E1    N3=0,  N4=0
SBM_SETRANGE          $00E2    N3=Minimum , N4=maximum
SBM_SETRANGEREDRAW    $00E6
SBM_GETRANGE          $00E3    N3=Minimum , N4=maximum
SBM_ENABLE_ARROWS     $00E4
SBM_SETSCROLLINFO     $00E9
SBM_GETSCROLLINFO     $00EA
Déclarer Ende%,ScrollHorz%,Scrollvert%,Button%
Déclarer ScrollHX%,ScrollHY%,ScrollWX%,ScrollWY%
Déclarer ButtonrangeX%,ButtonrangeY%
Déclarer Buttonx%,Buttony%,Buttonh%,Buttonw%
settruecolor 1
cls rgb(192,192,192)
Laisser Buttonx% = 10                          à gauche dessus
Laisser Buttony% = 60                          à droite dessus
Laisser Buttonh% = 24                          Hoehe
Laisser Buttonw% = 80                          Breite
Laisser ButtonrangeX% = sub(width(%hwnd),130)  jusqu'à hierhin darf sich qui Button dans X bewegen
Laisser ButtonrangeY% = sub(height(%hwnd),30)  jusqu'à hierhin darf sich qui Button dans Y bewegen
Laisser ScrollHX% = 0                          à gauche Scrollbar Horizontal
Laisser ScrollHY% = sub(Width(%hwnd),20)       Breite Scrollbar Horizontal
Laisser ScrollWX% = sub(Width(%hwnd),20)       dessus Scrollbar Vertikal
Laisser ScrollWY% = sub(Height(%hwnd),20)      Hoehe Scrollbar Vertikal
Laisser ScrollHorz% = @Contrôle("Scrollbar",»,$50000000,0,0,ScrollWX%,20,%hwnd,1000,%Hinstance)
Laisser ScrollVert% = @Contrôle("Scrollbar",»,$50000001,ScrollHY%,20,20,ScrollWY%,%hwnd,1001,%Hinstance)
Laisser Button% = @Contrôle("Button","Ende",$50008000,Buttonx%,Buttony%,Buttonw%,Buttonh%,%hwnd,1002,%Hinstance)
SendMessage(ScrollHorz%,$00E2,ButtonX%,ButtonrangeX%)  Scrollweite pour Scrollbar horizontal
SendMessage(ScrollVert%,$00E2,ButtonY%,ButtonrangeY%)  Scrollweite pour Scrollbar vertikal
Laisser ende%=0

whilenot ende%

    Waitinput

    si getfocus(Button%)

        Laisser Ende%=1

    Endif

    Buttonposition anpassen
    setwindowpos Button% = SendMessage(ScrollHorz%,$00E1,0,0),SendMessage(Scrollvert%,$00E1,0,0)-80,24;0

Wend

Fin
© Andreas Miethe , Bielefeld , 1998
ici wird un Button mittels Scrollbalken déménagé!

wohin du qui Contrôle.hlp findest steht im Beispiel aussi qui gewünschten Messages.

P.S.: si du la fois wieder Beipiele suchts une tolle sortierte Linkliste findest du ici: [...] 

Sodele. Hoffe cela hilft!

Schönen dimanche Euch allen...

Michael
 
Salu Michael...

Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! 
29.08.2004  
 




Timotheus
c'est pas entier cela quoi je cherche. Eigentlich sais je maintenant déjà alles.
mais gibt es une Possibilité den rechten Scrollbalken dans einer Multiedit(ou bien Contrôle) abzufragen? ensuite bräuchte je pas toujours alles abzufragen et trop positionieren si dans qui Multiedit quelque chose eingegeben wird

Timo
 
29.08.2004  
 




Michael
Dell
Ok,

et nochn Beispiel:
Autor: Michael Dell
ScrollBar Min, Max et Pos  Info
Def gScrollPos(2)   !"user32.dll","GetScrollPos"
Def gScrollRange(4) !"user32.dll","GetScrollRange"
Déclarer med01&,scrMin&,scrMax&
Aktuelle Position des Scrollbalken
gScrollPos(hndl&,0)             SB_HORZ = 0
gScrollPos(hndl&,1)             SB_VERT = 1

Proc gScrollMinMax

    Min et Max qui Scrollbar ermittel
    Paramètres hndl&,HorVer%          HorVer%=0 -> Horizontal / HorVer%=1 -> Vertikal
    gScrollRange(hndl&,HorVer%,Addr(scrMin&),Addr(scrMax&))

ENDPROC

Proc ZeigeScrollMinMaxPos

    Paramètres HorVer%
    gScrollMinMax(med01&,HorVer%)

    Si HorVer%

        MessageBox(Ajouter$(Ajouter$(Ajouter$("Min=",Str$(scrMin&)),Ajouter$("  Max=",Str$(scrMax&))),Ajouter$("  Pos=",Str$(gScrollPos(med01&,HorVer%)))),"Vertikal (Min Max Pos):",0)

    D'autre

        MessageBox(Ajouter$(Ajouter$(Ajouter$("Min=",Str$(scrMin&)),Ajouter$("  Max=",Str$(scrMax&))),Ajouter$("  Pos=",Str$(gScrollPos(med01&,HorVer%)))),"Horizontal (Min Max Pos):",0)

    EndIf

    SetFocus(med01&)

ENDPROC

cls
med01& = @Créer("MultiEdit",%HWnd,»,20,20,600,400)
SetFocus(med01&)
SendKey(med01&,35)

WhileLoop 0,30,1

    SendString(med01&,"Test1 Test1 Test1 Test1 Test1 Test1 Test1 Test1 Test1 Test1 Test1 Test1 ")
    SendString(med01&,"Test2 Test2 Test2 Test2 Test2 Test2 Test2 Test2 Test2 Test2 Test2 Test2{ENTER}")

Endwhile

SendString(med01&,"{ENTER}Test- finissez!!!!{ENTER}")
ZeigeScrollMinMaxPos 0
ZeigeScrollMinMaxPos 1

WhileNot Equ(%Key,2) Or Equ(%Key,27)

    WaitInput
    ZeigeScrollMinMaxPos 0
    ZeigeScrollMinMaxPos 1

Endwhile

Fin
Sodele, cela wärs... :-P

Michael
 
Salu Michael...

Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! 
29.08.2004  
 




Timotheus
j'ai encore une neue Frage, et je denke cela vous aussi ici rein le letztn Fragen past:

comment kriege je qui Zeilennummer qui obersten la ligne qui dans einer Multiedit trop voyons ist raus?

Timo
 
26.09.2004  
 



allô Timotheus...

So peut-être?
Windowstyle 31
Windowtitle "Erste sichtbare la ligne im Multiedit"
Fenêtre 0,0-640,440
Déclarer EDIT&,Button&,Zeile&
LET EDIT&=@createmultiedit(%HWND,»,10,10,300,300)
LET BUTTON&=@CREATEBUTTON(%HWND,"Erste sichtbare la ligne?",10,330,300,30)
ADDFONTS
@Movelisttoedit(EDIT&)

Tandis que 0=0

    Waitinput

    IF @GETFOCUS(Button&)

        LET ZEILE&=@SENDMESSAGE(EDIT&,$00CE,0,0) index qui la ligne erfragen
        @MESSAGEBOX(@ADD$("Erste sichtbare la ligne: ",@STR$(@int(ZEILE&+1))),"Ergebnis",64)

    ENDIF

Wend

 
26.09.2004  
 




Michael
Dell
Hi gens,

ausgehend de meinem letzten Beispiel, (Maximale Zeilenzahl + 1) - ScrollbalkenPos.
là qui Scrollbalken aussi dans seiner Taille dem Anzeigbaren Bereich im Relations zum
gesamten le contenu entspricht.

Salut Michael...
 
Salu Michael...

Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! 
26.09.2004  
 




Timotheus
merci :biggrin:
 
26.09.2004  
 



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

5.107 Views

Untitledvor 0 min.
Ernst22.04.2016
RudiB.03.04.2016
Untitled26.05.2012
Untitled21.05.2012
plus...

Themeninformationen



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