| |
|
|
- page 1 - |
|
Andre Hilprecht | allô zusammen,
GETFOCUS(EDIT1%) funktioniert mais GETFOCUS(Text1%) pas.
Pour einem Waitinput frage je quoi car eh bien geklickt wurde, alors venons ensuite qui Zeilen
IF GETFOCUS(EDIT1%) Eingabe ELSEIF GETFOCUS(EDIT2%) Eingabe ELSEIF GETFOCUS(TEXT1%) Eingabe ENDIF
Klick sur Éditer1 - sprung zur Proc Eingabe Klick sur Éditer2 - sprung zur Proc Eingabe Klick sur Text1 - Nix pasiert
quoi fais je faux, wohin ist mon Denkfehler? Salut Andre |
|
|
| Ein PC ist die beste Möglichkeit Fehler zu beheben, die ohne PC gar nicht passiert wären. -frei aus Murphy's Computergesetzen
XProfan X2, Win8 Pro 64bit Update von Win7 i5 / 3,2GHz 4 GB RAM Treibstoff: Radeberger Pils | 17.02.2007 ▲ |
|
|
|
|
| |
|
- page 1 - |
|
Andre Hilprecht | cela habe je geahnt, habe mir la fois cela partie angesehen et viens avec cela pas du tout bien sûr. maintenant brauche Je l' XPSE-Compiler, toll, je suis begeistert. et après que je eh bien alles à seinem place hatte, alors den Verweis sur qui Include et den sur den XPSE-Compiler, sagt il mir jetz Unitdefinitionsdatei <SCROLLAREA> fehlt, quoique vous voilà et ensuite Programme incorrect.
alors cela hilft Je ne wirklich plus.
SetScrollPos et SetScrollRange mettons doch plan seulement qui Position des Knopfes dedans des VScroll1%-Elementes, pas mais cela maintenant cela Hauptfenster selbst gescrollt wird. cela bräuchte je doch seulement, si je cela la fenêtre dans einer gescrollten Position Sauver/schließen veux um es à cette Position wieder trop ouvrir. ensuite muss je doch aussi den Knopf à qui Position mettons.?
ou bien suis je là vollkommen sur dem falschen le vapeur?
Salut Andre |
|
|
| Ein PC ist die beste Möglichkeit Fehler zu beheben, die ohne PC gar nicht passiert wären. -frei aus Murphy's Computergesetzen
XProfan X2, Win8 Pro 64bit Update von Win7 i5 / 3,2GHz 4 GB RAM Treibstoff: Radeberger Pils | 17.02.2007 ▲ |
|
|
|
|
Rolf Koch | @AH, bien sûr gehts sur qui API et genauso avec Profanboardmitteln. cependant sommes qui so Stur, es wird rien LIVE aktualisiert. Pour quelque chose comme ist Sous-classe simple genial!!! |
|
|
| |
|
|
| |
|
- page 2 - |
|
|
| je sagte oui: Zur Not . |
|
|
| |
|
|
|
Michael Wodrich | @Andre quoi soll car maintenant oui c'est ca gemacht volonté? un Hauptfenster avec Scrollbalken versehen?
avec SetScrollRange stellt on un, comment qui Ergebnisse trop werten sommes. Zum Beispiel de 0 jusqu'à 10000. maintenant peux je ensuite qui avec GetScrollPos gelesene ou bien avec SetScrollPos gesetzte Position dans 100stel Prozent oui c'est ca werten.
qui Frage ist: Brauchst Du cet Positionswerte überhaupt? ou bien soll Dein la fenêtre simple seulement Scrollbalken enthalten?
belle Grüße Michael Wodrich |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 17.02.2007 ▲ |
|
|
|
|
| Andre Hilprecht
cela habe je geahnt, habe mir la fois cela partie angesehen et viens avec cela pas du tout bien sûr.
là es Du sûrement pas qui Einzige.
Andre Hilprecht
maintenant brauche Je l' XPSE-Compiler, toll, je suis begeistert.
si cela pas ernst gemeint était gibts Ärger.
Andre Hilprecht
et après que je eh bien alles à seinem place hatte, alors den Verweis sur qui Include et den sur den XPSE-Compiler, sagt il mir jetz Unitdefinitionsdatei fehlt, quoique vous voilà et ensuite Programme incorrect.
c'est unrichtig, ici liegt bestimmt seulement un Bedienerfehler avant.
cherches Du quelque chose comme? KompilierenMarqueSéparation {$cleq}
const scrollBarWidth=18
const planeHeight=2048
set(errorlevel,-1)
windowstyle 8
cls
long h:=createvscroll(hwnd,,width(hwnd)-scrollBarWidth,0,scrollBarWidth,height(hwnd))
long plane:=createtext(hwnd,,0,0,width(hwnd)-scrollBarWidth,planeHeight)
long spos:=getscrollpos(h),ospos:=spos
float realFact:=(planeHeight-height(hwnd))/100
buildControls plane
do {
waitinput
spos:=getscrollpos(h)
if (ospos<>spos) {
ospos:=spos
setwindowpos plane=0,(0-spos)*realFact - width(plane),height(plane);0
}
}
end
buildcontrols (long parent) {
long w:=width(parent)-40
long h:=creategroupbox(parent,,20,20,w,height(parent)-40)
case w>40 : buildcontrols (h)}
KompilierenMarqueSéparationSET(errorlevel,-1)
WINDOWSTYLE 8
CLS
var H&=CREATEVSCROLL(%HWND,,WIDTH(%HWND)-18,0,18,HEIGHT(%HWND))
var PLANE&=(CONTROL(STATIC,,$50000000,(0),(0),(WIDTH(%HWND)-18),(2048),(%HWND),0,%HINSTANCE))
var SPOS&=GETSCROLLPOS(H&)
var OSPOS&=SPOS&
var REALFACT!=(2048-HEIGHT(%HWND))/100
BUILDCONTROLS PLANE&
WHILE 1
WAITINPUT
SPOS&=GETSCROLLPOS(H&)
IF (OSPOS&<>SPOS&)
OSPOS&=SPOS&
SETWINDOWPOS PLANE&=0,(0-SPOS&)*REALFACT! - WIDTH(PLANE&),HEIGHT(PLANE&);0
ENDIF
ENDWHILE
proc BUILDCONTROLS
PARAMETERS PARENT&
var W&=WIDTH(PARENT&)-40
var H&=(CREATE(GROUPBOX,(PARENT&),,(20),(20),(W&),(HEIGHT(PARENT&)-40)))
IF W&>40
BUILDCONTROLS (H&)
ENDIF
endproc
|
|
|
| |
|
|
|
Andre Hilprecht | @ Michael Wodrich je voudrais simple seulement mon Hauptfenster avec einem vertikalen Scrollbalken versehen, pour Possibilité sollte alternativ naturellement ensuite aussi cela Rollrad qui souris marcher. avec dem Scrollen voudrais je une certain Bereich des Hauptfensters rollen, alors ähnlich comment chez Excel si une Tabelle fixiert ist. mon Hauptfenster wird une Kopfbereich avons, dans dem qui Tabellenkopf sitzt et là devoir sich quelques Schaltflächen tummeln. Beim Scrollen soll alors qui obere Bereich stehen rester.
@IF je prends la fois à, (entschuldige mon Blödheit) ce sont deux verschiedene Codes, qui beide une VScroll avons, qui ensuite aussi funktioniert. Den zweiten Code bekomme je sogar zum courir, seulement mon la fenêtre bleibt vide. voilà ne...aucune Scrollbalken trop voyons, voilà eigentlich überhaupt nix trop voyons et demzufolge funktioniert aussi nix. qui zweite Code sieht bien aus, là peux je mir so un un peu quoi zusammenreimen, comment cela marcher sollte. seulement là nix trop voyons ist et nix funktioniert, peux je aussi avec cela nix anfangen.
Helft einem Blödmann s'il te plaît sur qui Sprünge. Salut André |
|
|
| Ein PC ist die beste Möglichkeit Fehler zu beheben, die ohne PC gar nicht passiert wären. -frei aus Murphy's Computergesetzen
XProfan X2, Win8 Pro 64bit Update von Win7 i5 / 3,2GHz 4 GB RAM Treibstoff: Radeberger Pils | 17.02.2007 ▲ |
|
|
|
|
Rolf Koch | tu es ne...aucune Blödmann! pourquoi versuchst Du es pas avec meinem Code dessus? oui c'est ca cela quoi Du besoin. |
|
|
| |
|
|
|
Andre Hilprecht | @Rolf oui, Deinen Code habe je probiert, je werde maintenant la fois versuchen statt qui Spielerei une definierten Bereich dans mon la fenêtre rollen trop laisser. Irgendwie habe je mais pas so une richtige Peilung. Schreibe je une Text à une Position außerhalb des erzeugten Hauptfensters et rôle ihn ensuite rein, ou bien comment funzt cela?
alors WINDOW 22,20-250,310 ...... ...... TEXT1& = CREATE(TEXT,%HWND,Info 1,0014,(GETSCROLLPOS(VSCROLL1&)),0070,0020)
fais avec cela alors alle XProfan-Elemente, qui gescrollt volonté devoir dépendant vom Stand des Knopfes im Scrollbalken? et muss je alle Elemente auschalten, si une gewisse Hauteur erreicht ist avec cela mon tête im Hauptfenster pas überschrieben wird?
le garçon, là hab je mir mais quoi vorgenommen, car je muss ca. 2500 Text&-Bausteine rollen.
Salut André |
|
|
| Ein PC ist die beste Möglichkeit Fehler zu beheben, die ohne PC gar nicht passiert wären. -frei aus Murphy's Computergesetzen
XProfan X2, Win8 Pro 64bit Update von Win7 i5 / 3,2GHz 4 GB RAM Treibstoff: Radeberger Pils | 17.02.2007 ▲ |
|
|
|
|
Rolf Koch | ici zur Demo quoi je mon (arrêt seulement comme Ansatz et vite geschrieben): KompilierenMarqueSéparation $P+
SET(ERRORLEVEL,0)
********************** HINWEISE ********************************
CODE ERZEUGT MIT ROKOS OBJECT CREATOR 4.5b
DATUM 17.02.2007 um 14:39 Uhr
VERWENDETE PROFANVERSION IST 10.0-NT XPROFAN
CODE ERSTELLT UNTER WINDOWS Unbekannt
Subclass für %hwnd ist eingeschaltet!
!!! Dieser Code wird von Roc immer neu erzeugt !!!
!!! Erst bearbeiten, wenn alle Objekte erzeugt wurden !!!
!!! Verändern Sie ggf. feste Pfade in variable Pfade !!!
DECLARE VSCROLL1&
DECLARE TEXT1&,font&,x%
Declare untergrund&,scrollteil&
DEF GETSYSCOLOR(1) !USER32,GetSysColor
$H C:PROFANAKTUELLE PROJEKTEROCLIBWINDOWS.PH
$H C:PROFANAKTUELLE PROJEKTEROCLIBMESSAGES.PH
font&=create(FONT,MS SANS SERIF,25,0,1,0,0)
Hier nichts ändern **************************************
declare p_x1&,p_x2&
PROC INITSUBCLASS
p_x1&=~Getwindowlong(%Hwnd,~Gwl_wndproc)
p_x2&=Procaddr(Windowproc,4)
~Setwindowlong(%Hwnd,~Gwl_wndproc, p_x2&)
ENDPROC
PROC SETSTANDARDMESSAGE
~Setwindowlong(%Hwnd,~Gwl_wndproc, p_x1&)
ENDPROC
PROC SETEXTENDMESSAGE
~Setwindowlong(%Hwnd,~Gwl_wndproc, p_x2&)
ENDPROC
*********************************************************
Hier können die eigenen Abfragen hin ********************
Proc Windowproc
Parameters Wnd&, Msg&, Wparam&, Lparam&
If Msg& = ~Wm_close
~Postquitmessage(0)Programm-Ende
Endif
IF MSG& = ~WM_VSCROLL
SCROLL_PROC
ENDIF
Return ~Callwindowproc(p_x1&,Wnd&, Msg&, Wparam&, Lparam&)
Endproc
HIER DEINE AKTIONEN WENN SCROLLER BETÄTIGT WIRD
PROC SCROLL_PROC
setwindowpos scrollteil&=0,(-getscrollpos(vscroll1&))-(width(%hwnd)-16),5000
ENDPROC
WINDOWSTYLE 63
WINDOWTITLE The Elder scrolls *lol*
WINDOW 22,20-250,310
SET(TRUECOLOR,1)
DECLARE ENDE%
CLS GETSYSCOLOR(15)
USEFONT MS Sans Serif,13,0,0,0,0
SETDIALOGFONT 1
Set(FASTMODE,1)
VSCROLL1& = CREATE(VScroll,%HWND,VScroll,(width(%hwnd)-15),0035,0014,(height(%hwnd)-35))
SetScrollRange vscroll1&,0,5000
TEXT1& = CREATE(TEXT,%HWND,Ich bin die Überschrift,0001,0001,0358,0020)
Untergrund&=Control(STATIC,,$54001106,1,36,(width(%hwnd)-16),(height(%hwnd)-35),%hwnd,0,%hinstance,$0)
Scrollteil&=Control(STATIC,,$54001100,0,0,(width(%hwnd)-16),5000,untergrund&,0,%hinstance,$0)
whilenot x% = 240
inc x%
createtext(scrollteil&,Ich bin Testtext Nr. +str$(x%),10,(20*x%),200,20)
endwhile
setfont text1&,font&
INITSUBCLASS muss an diese Position
SETSTANDARDMESSAGE muss an diese Position
SETFOCUS(%HWND)
SETEXTENDMESSAGE muss an diese Position
WHILENOT ENDE%
WAITINPUT
SETSTANDARDMESSAGE muss an diese Position
If %KEY=2
ENDE%= 1
ELSEIF %KEY=4
ENDIF
SETEXTENDMESSAGE muss an diese Position
ENDWHILE
deleteobject font&
Kurze Erklärung: Du erstellst une En-tête indem Du dessus normal aufs Hauptfenster Sachen positionierst - Buttons et Co. ensuite erstellst Du une Untergrund pour den trop scrollenden Bereich (ici un Static avec Variable Untergrund&) sur cette Untergrund erstellst Du nochmals un Static cependant dans seiner Hauteur gross gewählt. là peux Du ensuite Votre Elemente sur elle platzieren. Siehe maintenant simple SCROLL_PROC à, car cet kannste libre anpassen, sans dessus im Subclassteil quoi trop verändern. |
|
|
| |
|
|
|
Andre Hilprecht | allô Rolf, cela funzt et venez meinen désirer presque trop 100% proche. c'est oui entier joli aufwendig, seulement um un VScroll dans un Prog einzubauen. Hätte je nie hinbekommen.
merci pour erste, Salut André |
|
|
| Ein PC ist die beste Möglichkeit Fehler zu beheben, die ohne PC gar nicht passiert wären. -frei aus Murphy's Computergesetzen
XProfan X2, Win8 Pro 64bit Update von Win7 i5 / 3,2GHz 4 GB RAM Treibstoff: Radeberger Pils | 17.02.2007 ▲ |
|
|
|
|
| Ah - mon Code dessus (et c'est un et qui selbe Code seulement einmal xpse einmal net xpse) funzt chez Dir pas weil Du ne...aucune X10 la hâte - vois maintenant seulement cela Du XProfan 9 la hâte. |
|
|
| |
|
|
|
Andre Hilprecht | Hi IF, so simpel sommes quelquefois qui Dinge. et oui c'est ca c'est pourquoi sollte oui chacun dans qui Fußzeile stehen avons, avec welchen Versionen gearbeitet wird. maintenant vois je aussi dans Deinem Codefenstern dessus XXProfan XPSE - soll bestimmt un Hinweis puis son XProfan 10 et den XPSE chez diesem Code trop verwenden. Beim zweiten Codefenster ist malheureusement garnichts trop voyons comme Hinweis sur verwendete Versionen.
Ist peut-être la fois un allgemeiner Hinweis: Codefenster devrait avec cette Hinweisen versehen veröffentlicht volonté, cela erspart weitere informer et (mais cela fait oui presque chacun) dans qui Fußzeile toujours verwendete Versionen eintragen.
Salut André |
|
|
| Ein PC ist die beste Möglichkeit Fehler zu beheben, die ohne PC gar nicht passiert wären. -frei aus Murphy's Computergesetzen
XProfan X2, Win8 Pro 64bit Update von Win7 i5 / 3,2GHz 4 GB RAM Treibstoff: Radeberger Pils | 18.02.2007 ▲ |
|
|
|