| |
|
|
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 |
|
|
| |
|
|
|
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 |
|
|
| |
|
|
|
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 |
|
|
| |
|
|
|
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 |
|
|
| |
|
|
|
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 |
|
|
| |
|
|
|
| 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
|
|
|
| |
|
|
|
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 | |
|
| |
|
|