| |
|
|
- Página 1 - |
|
Andre Hilprecht | ¡Hola zusammen,
GETFOCUS(EDIT1%) funktioniert aber GETFOCUS(Texto1%) no.
Nach una Waitinput frage Yo qué porque nun geklickt wurde, also kommen entonces el Zeilen
IF GETFOCUS(EDIT1%) Eingabe ELSEIF GETFOCUS(EDIT2%) Eingabe ELSEIF GETFOCUS(TEXT1%) Eingabe ENDIF
Clic en Editar1 - sprung a Proc Eingabe Clic en Editar2 - sprung a Proc Eingabe Clic en Texto1 - Nix pasiert
Was mache Yo falso, wo es mein Denkfehler? Saludo 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 ▲ |
|
|
|
|
| |
|
- Página 1 - |
|
Andre Hilprecht | Das Yo geahnt, habe me de tiempo el Teil angesehen y komme así überhaupt no está claro. Jetzt brauche Yo, el XPSE-Compiler, toll, Yo bin begeistert. Und después de que nun alles a seinem Platz hatte, also el Verweis en Incluya el y el en el XPSE-Compiler, sagt él me jetz Unitdefinitionsdatei <SCROLLAREA> fehlt, obwohl ellos como es y luego Programa fehlerhaft.
Also el hilft No wirklich más.
SetScrollPos y SetScrollRange conjunto doch eben sólo el Position des Knopfes innerhalb des VScroll1%-Elementes, no aber el ahora la ventana principal incluso gescrollt se. Das bräuchte Yo doch sólo, si yo el Ventana en uno gescrollten Position speichern/schließen voluntad en lo a dieser Position otra vez a abierto. Dann muss Todavía auch el Knopf a el Position conjunto.?
Oder bin Yo como vollkommen en el falschen Dampfer?
Saludo 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, klar gehts en API y genauso con Profanboardmitteln. Jedoch son el así Stur, lo se nichts LIVE aktualisiert. Für algo como es Subclass simplemente genial!!! |
|
|
| |
|
|
| |
|
- Página 2 - |
|
|
| Yo sagte sí: A Not . |
|
|
| |
|
|
|
Michael Wodrich | @Andre Was se porque ahora genau gemacht voluntad? Ein Ventana principal con Scrollbalken versehen?
Mit SetScrollRange stellt uno una, como Ergebnisse a werten son. Zum Ejemplo de 0 a 10000. Jetzt kann Yo entonces el con GetScrollPos gelesene oder con SetScrollPos gesetzte Position en 100stel Prozent genau werten.
El Cuestión es: Brauchst Usted esta Positionswerte überhaupt? Oder se Su Ventana simplemente sólo Scrollbalken enthalten?
Schöne Grüße Michael Wodrich |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 17.02.2007 ▲ |
|
|
|
|
| Andre Hilprecht
Das Yo geahnt, habe me de tiempo el Teil angesehen y komme así überhaupt no está claro.
Como bist Usted sicher no Einzige.
Andre Hilprecht
Jetzt brauche Yo, el XPSE-Compiler, toll, Yo bin begeistert.
Si el no ernst gemeint war gibts Ärger.
Andre Hilprecht
Und después de que nun alles a seinem Platz hatte, also el Verweis en Incluya el y el en el XPSE-Compiler, sagt él me jetz Unitdefinitionsdatei fehlt, obwohl ellos como es y luego Programa fehlerhaft.
Es unrichtig, hier liegt determinado sólo una Bedienerfehler antes.
Suchst Usted algo como? KompilierenMarcaSeparación {$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)}
KompilierenMarcaSeparaciónSET(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 Yo möchte simplemente sólo mein Ventana principal con un vertikalen Scrollbalken versehen, después de Möglichkeit debería alternativ natürlich entonces auch el Rollrad ratón trabajo. Mit el Scrollen möchte Soy un cierto Zona des Hauptfensters rollen, also ähnlich como en Excel si una tabla fixiert es. Mein Ventana principal se una Kopfbereich haben, en el el Tabellenkopf sitzt y hay debería se algunos Schaltflächen tummeln. Beim Scrollen se also el obere Zona posición bleiben.
@IF Yo nehme veces a, (entschuldige mi Blödheit) el son zwei verschiedene Codes, el beide una VScroll haben, el entonces auch funktioniert. Den zweiten Code bekomme Yo incluso para laufen, sólo mein Ventana restos leer. Como es kein Scrollbalken a sehen, como es eigentlich überhaupt nix a sehen y demzufolge funktioniert auch nix. Der zweite Code sieht bien de, como kann Yo así una bischen qué zusammenreimen, como el trabajo debería. Nur como nix a sehen es y nix funktioniert, kann Yo auch así nix anfangen.
Helft una Blödmann Por favor, en el Sprünge. Saludo 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 | Usted bist kein Blödmann! ¿Por qué versuchst Usted no con mi Code oben? Exactamente el qué Usted necesidad. |
|
|
| |
|
|
|
Andre Hilprecht | @Rolf Sí, Su código Yo probiert, Yo voluntad ahora veces versuchen en lugar de el Spielerei una definierten Zona en mi Ventana rollen que se. Irgendwie Yo pero no así una richtige Peilung. Schreibe Soy un Texto a una Position außerhalb des erzeugten Hauptfensters y rolle ihn entonces rein, oder como funzt el?
Also WINDOW 22,20-250,310 ...... ...... TEXT1& = CREATE(TEXT,%HWND,Info 1,0014,(GETSCROLLPOS(VSCROLL1&)),0070,0020)
mache así also todos XProfan-Elemente, el gescrollt voluntad debería abhängig vom Stand des Knopfes en el Scrollbalken? y muss Yo todos Elemente auschalten, si una gewisse Höhe erreicht es por lo que mi Kopf en el Ventana principal no überschrieben se?
Junge, como tener Yo aber qué vorgenommen, porque Yo muss ca. 2500 Text&-Bausteine rollen.
Saludo 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 | Hier a Demo Yo mi (sólo sólo como Ansatz y rápidamente geschrieben): KompilierenMarcaSeparación $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: Usted erstellst una Encabezamiento indem Usted oben normal aufs Ventana principal Sachen positionierst - Buttons y Co. Dann erstellst Usted una Untergrund para el a scrollenden Zona (hier una Static con Variable Untergrund&) Auf esta Untergrund erstellst Usted nochmals una Static sin embargo en su Höhe gross gewählt. Dort kannst Usted entonces Su Elemente en él platzieren. Siehe ahora simplemente SCROLL_PROC a, porque esta kannste frei adaptar, sin oben en el Subclassteil qué a verändern. |
|
|
| |
|
|
|
Andre Hilprecht | ¡Hola Rolf, el funzt y kommt media Wünschen fast a 100% nahe. Es sí bastante schön aufwendig, sólo en una VScroll en una Prog einzubauen. Hätte Yo nie hinbekommen.
Gracias fürs erste, Saludo 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 - mein Code oben (y es una y selbe Code sólo una vez xpse una vez net xpse) funzt No en porque Usted kein X10 hast - sehe ahora sólo el Usted XProfan 9 hast. |
|
|
| |
|
|
|
Andre Hilprecht | Hi IF, así simpel son manchmal el Dinge. Und genau deshalb debería sí cada en el Fußzeile posición haben, con welchen Versionen gearbeitet se. Jetzt sehe Yo auch en Deinem Codefenstern oben XXProfan XPSE - se determinado una Referencia darauf ser XProfan 10 y el XPSE en diesem Code utilizarse. Beim zweiten Codefenster es desafortunadamente garnichts a sehen como Referencia en verwendete Versionen.
Ist tal vez veces una allgemeiner Referencia: Codefenster debería con esta Hinweisen versehen veröffentlicht voluntad, el erspart weitere Nachfragen y (aber el macht sí fast cada) en el Fußzeile siempre verwendete Versionen eintragen.
Saludo 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 ▲ |
|
|
|