Foro | | | | - Página 1 - |
| Thomas Freier | Irgendwie komme Yo no más. Ein Blattformat se umschaltbar ser (hoch/quer). Ist el Blatt linksbündig, voluntad beim Wechsel el RTF-Editar y el Kopfzeile (3x Editar) a el vorgesehenen Punto adecuado. Ist el Blatt quer y rechtsbündig se sólo el RTF-Editar como vorgesehen adecuado y el Kopfzeile restos wo ellos war. Sieht de euch uno media Fehler oder ha una otro Vorschlag? |
| | | | |
| | | | | - Página 1 - |
| | Will sí sólo sagen, wenns el Personas no simplemente testen puede, ists con el Hilfestellung no así simplemente. |
| | | | |
| | Thomas Freier | Mein Anhang es en el Regel getestet. Aber wenns el daran scheitern debería, hier más bereinigt: KompilierenMarcaSeparación $H Windows.ph
$H messages.ph
$H RichEdit.ph
$U dlgmenu.pcu = menu.
var RtfDll&=usedll("RichEd20.dll")
def SetWndSize(3) ~SetWindowPos(&(1),0,0,0,%(2),%(3),~SWP_NOMOVE | ~SWP_NOZORDER)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SubClassProc
L.x&=~GetKeyState(1) & $8000
If L.x&
If ( SubClassMessage(area&, ~WM_VSCROLL) and (&sLParam=0) )
~GetWindowRect(area&,rect#)
maxy&=Long(rect#,12)-Long(rect#,4)+1
L.x&=&sWParam & $0000ffff
L.a&=1
If L.x&=~SB_LINEDOWN
isy&=8
ElseIf L.x&=~SB_PAGEDOWN
isy&=maxy&
ElseIf L.x&=~SB_LINEUP
isy&=-8
ElseIf L.x&=~SB_PAGEUP
isy&=-maxy&
ElseIf L.x&=~SB_THUMBTRACK
so!=yy!
yy!=&sWParam >> 16
isy&=-(so!-yy!)
L.a&=0
EndIf
If L.a&
yy!=yy!+isy&
If yy!<0
isy&=(isy&+(0-yy!))
yy!=0
EndIf
If yy!>(virty&-maxy&)
isy&=isy&-(yy!-(virty&-maxy&))
yy!=virty&-maxy&
EndIf
Endif
Long vs#,0=28
Long vs#,4=~SIF_ALL
Long vs#,12=virty&
Long vs#,16=maxy&
Long vs#,20=yy!
~SetScrollInfo(area&,~SB_VERT,vs#,1)
~ScrollWindow(area&,0,-isy&,0,0)
~UpdateWindow(area&)
ElseIf (SubClassMessage(area&, ~WM_HSCROLL) and (&sLParam=0))
~GetWindowRect(area&,rect#)
maxx&=Long(rect#,8)-Long(rect#,0)+1
L.x&=&sWParam & $0000ffff
L.a&=1
If L.x&=~SB_LINERIGHT
isx&=8
ElseIf L.x&=~SB_PAGERIGHT
isx&=maxx&
ElseIf L.x&=~SB_LINELEFT
isx&=-8
ElseIf L.x&=~SB_PAGELEFT
isx&=-maxx&
ElseIf L.x&=~SB_THUMBTRACK
so!=xx!
xx!=&sWParam >> 16
isx&=-(so!-xx!)
L.a&=0
EndIf
If L.a&
xx!=xx!+isx&
If xx!<0
isx&=(isx&+(0-xx!))
xx!=0
EndIf
If xx!>(virtx&-maxx&)
isx&=isx&-(xx!-(virtx&-maxx&))
xx!=virtx&-maxx&
EndIf
Endif
Long vs#,0=28
Long vs#,4=~SIF_ALL
Long vs#,12=virtx&
Long vs#,16=maxx&
Long vs#,20=xx!
~SetScrollInfo(area&,~SB_HORZ,vs#,1)
~ScrollWindow(area&,-isx&,0,0,0)
~UpdateWindow(area&)
EndIf
EndIf
Case %sMessage=~WM_COMMAND: SendMessage(%hwnd,%sMessage,&sWParam,&sLParam)
Case (SubClassMessage(area&, ~WM_HSCROLL) and (&sLParam<>0)): SendMessage(%hwnd,%sMessage,&sWParam,&sLParam)
Case (SubClassMessage(area&, ~WM_VSCROLL) and (&sLParam<>0)): SendMessage(%hwnd,%sMessage,&sWParam,&sLParam)
EndProc
Proc Blatt_Daten
Seite
Layout$=SubStr$(L_Blatt$,1,"|") .....................Blattausrichtung
Liste
L_LVfont&=Create("Font",substr$(L_Liste$,1,"|"),Round(val(substr$(L_Liste$,2,"|"))*1.7,0),0,0,0,0)
L_LVx% = abs(val(SubStr$(L_Liste$,3,"|"))*4.7) ................Randabstand links
L_LVx1% = abs(val(SubStr$(L_Liste$,4,"|"))*4.7) ...............Randabstand rechts
L_LVy% = abs(val(SubStr$(L_Liste$,5,"|"))*4.7) ................Randabstand oben
EndProc
Proc Blatt_Format
IF Layout$="hoch"
S_B! = (11906/12.2) - S_X!
S_H! = (16838/12.2) - S_Y!
MENU.CHECKMENU MENU&,2004,1
MENU.CHECKMENU MENU&,2005,0
Else
S_H! = (11906/12.2)
S_B! = (16838/12.2)
MENU.CHECKMENU MENU&,2004,0
MENU.CHECKMENU MENU&,2005,1
EndIf
virtx&= S_B!+ 20900
virty&= 500S_H!+ 30
Endproc
Proc Blatt_Basis
~GetWindowRect(area&,rect#)
maxy&=Long(rect#,12)-Long(rect#,4)+1
Long vs#,0=28
Long vs#,4=~SIF_ALL
Long vs#,12=virty&
Long vs#,16=maxy&
Long vs#,20=yy!
~SetScrollInfo(area&,~SB_VERT,vs#,1)
maxx&=Long(rect#,8)-Long(rect#,0)+1
Long vs#,0=28
Long vs#,4=~SIF_ALL
Long vs#,12=virtx&
Long vs#,16=maxx&
Long vs#,20=xx!
~SetScrollInfo(area&,~SB_HORZ,vs#,1)
EndProc
Proc Blatt_RTF
~SetWindowLong(Edit&,~GWL_EXSTYLE,0)
SetWndSize(Hdlg&,(S_B!-10,83466),((L_LVy%-70),83466))
SetWndSize(Edit&,((S_B!-10),83466),((L_LVy%-70),83466))
enablewindow Hdlg&,1
EndProc
Proc Blatt_KF Kopfzeile
SetWindowPos EditKL&=(L_LVx%),(L_LVy%-32) - 120,22;0
SetWindowPos EditKM&=((L_LVx%+122)),(L_LVy%-32) - (S_B!-L_LVx%-L_LVx1%-260),22;0
SetWindowPos EditKR&=((S_B!-L_LVx%-L_LVx1%-40)),(L_LVy%-32) - 124,22;0
SetFont EditKL&,L_LVfont&
SetFont EditKR&,L_LVfont&
SetFont EditKM&,L_LVfont&
EndProc
Proc Blatt_Status
SetText Sz&, 1, "Format: A4-"+ Layout$
SetText Sz&, 2, "Rand links: "+SubStr$(L_Liste$,3,"|")+"mm"
SetText Sz&, 3, "Rand rechts: "+SubStr$(L_Liste$,4,"|")+"mm"
EndProc
########################################################################################
Proc Mitg_Print
Declare B_dlg&, menu&
B_dlg& = @Create("Dialog",%hwnd," Listen-Report " ,10,10,1008,720)
menu&=menu.new(B_dlg&)
menu.setNiceBackground
menu.popup "Datei "
menu.appendmenu 2001,"Neu"
menu.appendmenu 2003,"Öffnen"
menu.appendmenu 2009,"Speichern"
menu.separator
menu.appendmenu 3110,"Beenden"
menu.popup "Blattformat "
menu.appendmenu 2004,"Hochformat"
menu.appendmenu 2005,"Querformat"
Statusbar
Declare L#,Sz&
Dim L#, 24
Long L#,0 = 260, 400, 540, 700 , 900,-1
Sz& = @Create("StatusWindow",B_Dlg&,"",6,L#)
SetText Sz&, 0, "Datei: neu"
SetText Sz&, 1, "Format:"
SetText Sz&, 2, "Rand links: "
SetText Sz&, 3, "Rand rechts: "
SetText Sz&, 4, ""
SetText Sz&, 5, Date$(0)
SetFont Sz&,L_font&
RTF-Blatt
declare hoehe%,font$,kursiv%,underline%,fat%
Declare Edit&,Hdlg&,File$,S_B!,S_H!
Declare L.a&,L.x&,area&, klasse$
Declare isx&,isy&,xx!,yy!,maxx&,maxy&,rect#,vs#
Declare virtx&,virty&,so!
Dim rect#,16
Dim vs#,512
Declare L_Blatt$
Declare Layout$
leere A4 hoch erzeugen, Daten sonst aus nn.RTF
L_Blatt$="hoch|"
.......Ausrichtung,Rand oben
Declare L_Liste$, L_LVfont&, L_LVx%, L_LVx1%, L_LVy%, L_LVn&, L_LVkopf$
L_Liste$ = "Arial|12|20|10|40"
.....Listenfont,Fonthöhe, Abstand links,Abstand rechts,Abstand oben
Blatt_Daten ................... Daten
Blatt_Format....................hoch/quer
Blatt_Status....................Statuszeile
klasse$="#32770"
text$=""
area&=~CreateWindowEx($20000,addr(klasse$),addr(text$),$50300000,4 ,10 ,994 ,610 ,B_dlg&,0,%hinstance,0)
Blatt_Basis
SubClass area&, 1
Lineal
Bmp1& = CREATE("hSizedPic", -1, "Rul2.bmp",1500,25,0)
Create("Bitmap", area&, Bmp1&, 0, 0)
StartPaint Bmp1&
UsePen 1,1,@RGB(0,0,0)
var x!=0
var y!= 4.60
whileloop 0,60
SELECT &Loop
CASEOF 0, 2, 4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60
Line x!,5-x!,24
OTHERWISE
Line x!,10-x!,24
ENDSELECT
x!=x!+(y!*5)
wend
UseFont "Arial",14,0,0,0,0
TextColor @RGB(0,0,255),-1
x!=0
x%=0
whileloop 30
DrawText (x!+3),1,str$(x%)
x!=x!+(y!*10)
x%=x%+1
wend
EndPaint Bmp1&
~RedrawWindow(area&, 0, 0, ~RDW_FRAME | ~RDW_INVALIDATE | ~RDW_ALLCHILDREN | ~RDW_UPDATENOW | ~RDW_INTERNALPAINT)
RTF erzeugen
set("fastmode",1)--Für @ProcAddr (Subclassing)
Hdlg&=control("Dialog","Hauptdialog",$58000000,1,30,0,0,area&,5000,0)
Edit&=control("RichEdit20A","",$500050c4,0,0,0,0,Hdlg&,5000,0)
Blatt_RTF
Kopf- unf Fußzeile
var EditKL&=control("Edit","",$500050c4,0,0,0,0,area&,5000,0)
~SetWindowLong(EditKL&,~GWL_EXSTYLE,0)
SetText EditKL&,Date$(0)
var EditKR&=control("Edit","",$500050c4,0,0,0,0,area&,5000,0)
~SetWindowLong(EditKR&,~GWL_EXSTYLE,0)
SetText EditKR&,"Seite:"
var EditKM&=control("Edit","",$540100C1,0,0,0,0,area&,0,%hinstance,$0200)
~SetWindowLong(EditKM&,~GWL_EXSTYLE,0)
SetText EditKM&,"Mitgliederliste"
Blatt_KF Kopfzeile einfügen
setfocus(B_dlg&)
while 1
~RedrawWindow(area&, 0, 0, ~RDW_FRAME | ~RDW_INVALIDATE | ~RDW_ALLCHILDREN | ~RDW_UPDATENOW | ~RDW_INTERNALPAINT)
WaitInput
case %key=2 : break
case (abs(%menuitem)=3110) : break
IF (abs(%menuitem)=2004) Hochformat
Layout$="hoch"
Blatt_Format
Blatt_Basis
Blatt_RTF
Blatt_KF
Blatt_Status
setfocus(B_Dlg&)
ElseIF (abs(%menuitem)=2005) Querformat
Layout$="quer"
Blatt_Format
Blatt_Basis
Blatt_RTF
Blatt_KF
Blatt_Status
setfocus(B_Dlg&)
endif
EndWhile
SubClass area&, 0
Dispose rect#
Dispose vs#
Dispose L#
DestroyWindow(B_dlg&)
DeleteObject L_LVfont&
EndProc
########################################################################################
Declare Bmp1&,Bmp2&
window 10,10 - 800,600
cls
var L_font& = @Create("Font","Verdana",16,0,0,0,0)
var old_file$ = GetDir$("@") $ProgDir
declare temp$, text$, x%
Usefont "MS Sans Serif",16,0,0,0,0
SetDialogFont 1
Mitg_Print Liste Mitglieder drucken
WaitInput
DestroyWindow(%hwnd)
FreeDLL RtfDll&
DeleteObject L_font&
End
|
| | | | |
| | Jörg Sellmeyer | Ist porque el pcu absolut nötig para el Programmablauf? Yo sería el auch todavía rausnehmen, en Fehlerquellen auszuschließen y el Programa wirklich el absolut Nötigste a reduzieren. |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 22.06.2009 ▲ |
| |
| | | Thomas Freier, Beitrag=52731, Zeitpunkt=21.06.2009
Mein Anhang es en el Regel getestet.
En me wars así, dass Yo, el Anhang öffnete y XPSE inmediatamente unbekannte ESC-Sequenzen fand. So stiess I el Dateinamen para el Bild welches no mitgeliefert war.
A dlgmenu.pcu gehört auch una .def-Expediente welche no fehlen debería para Tester si la Unit eingebunden se.
Natürlich se alguien, el entonces sólo veces eben schauen voluntad "woran lo hängt", gebremst.
Tjo y ahora haben wir en el Hilo el Beschriebene Phäno: [...] (6 Posts sin Ayuda) |
| | | | |
| | Thomas Freier | Tjo, entonces bin Yo wohl fehl, si ahora sólo todavía en XPSE konformen Minimalbeispielen (tener Yo dazu irgend algo übersehen?) Ayuda a esperar es y ansonsten sólo überflüssige Posts entstehen. |
| | | | |
| | | Wenn una Fehler en el Ver código fuente es, entonces ists wohl wurscht, wer oder qué el Fehler findet. Wenn Su Problema es, dass XPSE el findet, entonces bist Usted sicher fehl.
Yo überprüfe mi Fuente doch auch bevor Yo ellos hochlade, una Sorgfalt el sicher Tiempo en Anspruch nimmt - aber el debería uno se ruhig nehmen.
Ejemplo zeigt aber bastante klar: Hättest igual XPSE genommen... (entonces gäbe lo vlt. wenigstens esta (sinnlosen) Postings no)
Lo se doch nichts unmögliches verlangt, si uno una prf-Expediente una exe-Expediente draufzieht en Fehler a sehen - antes el Puesto.
Yo zumindest dar me oft muy viel Mühe beim Fehlerfinden, pero si entonces en el Quell-Code ya Macken son el el Verfasser ligeramente hätte encontrar puede, entonces empfinde Yo como Geringschätzung meiner Tiempo y bin trotzdem así nett y poste el Errors el Yo erhalte - aber en el Hoffnung dass el Verfasser se por lo tanto kümmert en lugar de debattiert.
Andernfalls (siehst sí) qué nutzt Usted un hilo sin Ayuda o. un hilo el sólo Starthilfe braucht.
Den ganzen Müll hier kann Yo entonces otra vez abschneiden si entonces otra vez ums Thema va.
Thomas Freier, Beitrag=52736, Zeitpunkt=22.06.2009
...en XPSE konformen Minimalbeispielen...
Tal vez el (después de näherer Betrachtung) una garnichtmal así schlechte Concepto: [...] |
| | | | |
| | Dieter Zornow | Yo Schwierigkeiten el problema a erkennen. Wenn el Kopfzeile a lo va, Datum, Mitgliederliste y Página es, verändert el Position el individual Überschriften beim Umschalten en Querformat, el heißt alles se mehr auseinander geschoben. Deshalb no es claro para mí wonach Yo schauen debería. Das ha nichts con Fehlern a tun, porque en me se ejecuta el Ejemplo y 1 Backslash anstatt 2 es sí todavía kein Fehler. Lo kann a una Fehler voluntad, si una Escapesequenz en Kleinschrift getroffen se, deshalb debería uno en 2 Backslash auch achten. Nachdem el Bild pero no esta es, es aber auch harmlos. Tal vez wäre lo nützlich genauer a beschreiben, como el Positionen Datum Mitgliederliste y Página verändern debería. Vom Ansehen her sieht lo en me normal de como Querformat ser debería, en Umschaltung. |
| | | Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2 | 22.06.2009 ▲ |
| |
| | Thomas Freier | Yo weis sí, si yo XPSE uso sería, hätte Yo weniger Problemas y dieses wohl ya incluso gelöst. Como el Scrollsript vermutlich de el SCROLLAREA de IF stammt, así es como auch el Solución en el Ejemplo 5. Der Code ha se me desafortunadamente todavía no erschlossen, como Yo eben siempre todavía con el profed32.exe arbeite y wenns como a a *.exe se ejecuta, es para mich OK. Zum Problema el Bilderreihe: 1. Start con Formato hoch 2. Formato en quer 3. Blatt después de rechts gescrollt 4. Formato en hoch ; el EDIT-Línea es no mehr linksbündig Wenn: 5. Formato quer, el Blatt es después de links gescrollt 6. Formato en hoch, el EDIT-Línea es linksbündig Como müßte se el problema doch así beheben dejar: antes el Formatwechsel por Befehl la página después de links scrollen. Nun nagelt mich Por favor, no fest encima: links o. rechts gescrollt. Como tener Yo ya en el Verein reichlich Verständnisprobleme encima Boote einlagern oder auslagern. Je de Sicht uno Anglers oder Seglers.
El eigentliche Tarea es una Listeneditor (Bild7) a redactar. Zigmal angefangen y otra vez verworfen. Für una gutes "List&Label"-Ejemplo en XProfan wäre Yo dankbar. Z.Z. plane Yo: una Kopfbereich como *.RTF, el sólo en el Deckblatt gedruckt se Kopf- y Fußzeile para todos Druckblätter una Listview para el Daten Ein Listview, porque lo así schön simplemente Es el min. Spaltenbreite automáticamente festzulegen y el Spalten nachträglich todavía movido voluntad puede. El Daten voluntad en el *.rtf eingebettet y beim erneuten Aufruf ausgelesen. KompilierenMarcaSeparación Test sólo posible, si Leerzeichen, el sólo hier automáticamente instalado, otra vez gelöscht voluntad. Apéndice wegen el Einwände: el Muster.rtf como Muster.txt (umbenennen) angehängt. Wird encima una Multi-Editar ausgelesen. Das Einfügen es auch encima el Multi-Editar: el *.rtf se gespeichert y zeilenweise en el Multi-Editar geladen. Nun voluntad después de Línea zwei el Info-Zeilen eingefügt y alles como *.rtf gespeichert. Geht vermutlich auch anders. |
| | | | |
| | | Thomas Freier, Beitrag=52750, Zeitpunkt=22.06.2009
Test sólo posible, si Leerzeichen, el sólo hier automáticamente instalado, otra vez gelöscht voluntad.
Exactamente, para solche Fälle halte Yo siempre [...] parat - teste el veces el es para 1:1-Texto unschlagbar. Im Contribución sólo todavía el URL puesto.
Mi Scrollarea-Incluir [...] sehe Yo en obigen Codes pero no.
Thomas Freier, Beitrag=52750, Zeitpunkt=22.06.2009
Für una gutes "List&Label"-Ejemplo en XProfan wäre Yo dankbar.
Hast Usted una Screenshot de solch Control welches ¿Quieres decir que? (vlt. bräuchte Yo algo como en efecto) |
| | | | |
| | | | - Página 2 - |
| | Thomas Freier | @IF, así algo como en el Anhang? Ya está algo älter y yo quería möglichst alles en "Druckvorschau" hacer.
Im Democode 5 Es el Scrollposition einzugeben: KompilierenMarcaSeparación Naja, si yo nun AREA& en 0-0 vorm Seitenwechsel conjunto sería, así müssten el Darstellungprobleme Fijo ser. |
| | | | |
| | | Und una hwnd::setScrollPos(0,0) hilft no?
(scheint me kein aktueller Code a ser) |
| | | | |
| | Thomas Freier | Kann ser, como sí ya una Weilchen en el Schublade. Ursprung : [...] Aber, como eingangs ya gefragt, sabe uno una otro Solución. |
| | | | |
|
RespuestaThemeninformationenDieses Thema ha 4 subscriber: |