Deutsch
Forum

Grafiken mit Overlay-Funktionen (an- / abwählbar)

 
- Seite 1 -



Thomas
Freier
Ein Wunsch von Stephan Lührsen [...]  .
Ein minimal Beispiel mit "Pascals" ocx3 und JS.

395 kB
Hochgeladen:30.04.2011
Ladeanzahl332
Herunterladen
 
Gruß Thomas
Windows XP SP2, XProfan X2
30.04.2011  
 



 
- Seite 3 -



Thomas
Freier
War ja alles auf die Schnelle als Prinzip gedacht. Natürlich sollten Aktionen eindeutig abgefragt werden. Habe jetzt im Script eine Deselektion nach Dieters Vorlage nachgetragen, so dass durch eine alte markierte Zeile keine Aktion ausgelöst wird.
Und mit Checkboxen.
 
Gruß Thomas
Windows XP SP2, XProfan X2
03.05.2011  
 



Vlt. sowas:
KompilierenMarkierenSeparieren
'{$cleq}
 $H commctrl.ph
 $H Windows.ph
 $H ocx3a.ph
 $I ocx3a.inc
def $appName "GMOF"
Var dataStorageDir$ = $appDataDir+$appName+"\\"
mkDir dataStorageDir$
'
ocxInit()
var GrundBild$ = @LoadFile$("Grundbild wählen:","Bilder|*.jpg;*.png")
case (Grundbild$="") or (fileExists(grundBild$)=0) : end
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~Grundbildgröße für Linien/-zug
struct HIT=x&,y&,Flags&,Item&,SubItem&
Declare Gbildx%,Gbildy%,bmp&,Hit#,Item%,Status%
dim Hit#,HIT
bmp&=@Create("hPic",-1,Grundbild$)
Gbildx%=%BmpX
Gbildy%=%BmpY
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
windowStyle 1 | 2 | 8 | 16 | 512
window 1000,500
Var Font&=@Create("Font","Verdana",16,0,0,0,0)
SETDIALOGFONT Font&
var Titel$ = "x;1;40;y;1;40;Obj-x;1;60;Obj-y;1;60;LEnd-x;1;60;LEnd-x;1;60;Objekt;0;100"
var LV&   = Create("GridBox", %hwnd, Titel$, 0, 580, 10, 400, 190)
'
var irfanExeFile$=substr$(readini$("HKEY_0","Applications\\i_view32.exe\\shell\\open\\command\\",""),2,"\q")
case irfanExeFile$="" : irfanExeFile$="C:\\Programme\\IrfanView\\i_view32.exe"
'
AddString(LV&, "200|100|200|200|0|0|Kreis")
AddString(LV&, "100|20|80|80|0|0|nEck")
AddString(LV&, "400|200|100|200|0|0|Kreis")
' ACHTUNG !! Linien und Linienzug: MCls = Bildgröße und liegt damit auf x=0px, y=0px
' Werte für Linienzug in LEnd-x (LEnd-y) durch ; getrennt
AddString(LV&, "0|0|100|360|300|40|Linie")
AddString(LV&, "0|0|10|20|100;120;230|40;80;100|Linie")
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Bilder erstellen und als GIF speichern
' Größe = Grundbild, Pos. und Größe X und Y vorgeben
Declare i%,x%,y%,xx%,yy%,Obj$,Text$

WhileLoop @GetCount(LV&)

    x%=val(substr$(@GetString$(LV&,(&loop-1)),3,"|"))
    y%=val(substr$(@GetString$(LV&,(&loop-1)),4,"|"))
    Obj$=trim$(substr$(@GetString$(LV&,(&loop-1)),7,"|"))

    If Obj$="Linie"

        xx%=val(substr$(@GetString$(LV&,(&loop-1)),5,"|"))
        yy%=val(substr$((substr$(@GetString$(LV&,(&loop-1)),6,"|")),1,";"))
        MCls Gbildx%, Gbildy%
        StartPaint -1
        Line x%, y% - xx%,yy%
        i%=2

        While 1

            text$=(substr$((substr$(@GetString$(LV&,(&loop-1)),5,"|")),i%,";"))
            text$=text$+(substr$((substr$(@GetString$(LV&,(&loop-1)),6,"|")),i%,";"))
            case trim$(text$)="" : Break
            x%=xx%
            y%=yy%
            xx%=val(substr$((substr$(@GetString$(LV&,(&loop-1)),5,"|")),i%,";"))
            yy%=val(substr$((substr$(@GetString$(LV&,(&loop-1)),6,"|")),i%,";"))
            Line x%, y% - xx%,yy%
            inc i%

        wend

        EndPaint -1

    Else

        MCls x%, y%
        StartPaint -1
        case Obj$="nEck" : Rectangle 0,0 - x%, y%
        case Obj$="Kreis" : Ellipse 0,0 - x%, y%
        EndPaint -1

    EndIf

    bmp&=@Create("hPic",0,"&MEMBMP")
    Obj$="B"+str$(&loop)+".png"
    SavePic dataStorageDir$+Obj$, bmp&
    Obj$="B"+str$(&loop)
    winExecWait(  irfanExeFile$+" "+dataStorageDir$+Obj$+ \
    ".png /transpcolor=(255,255,255) /convert="+dataStorageDir$+Obj$+".gif" ,1)

EndWhile

'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~3. html erzeugen
assign #2,dataStorageDir$+"Grid.html"
rewrite #2
Print #2,"<HTML>"
Print #2,"<HEAD>"
Print #2,"<TITLE>Script</TITLE>"
Print #2,"<style>"
Print #2,"body,img,div{margin:0;padding:0;border:0;cursor:default;text-align:center}"
Print #2,"div{font-family:Verdana;font-size:10px;font-weight:normal;COLOR:#6f95c7;padding:0px 0px 0px 0px;}"
Print #2,"</style>"
Print #2,"<script type='text/javascript'>"
Print #2,"<!--"
Print #2,"var evalCode = '';"
Print #2,"function evalNow(){return eval(evalCode)};"
Print #2,"function setImgVis(i,state){document.getElementsByTagName('div')[i].style.visibility=state==1?'visible':'hidden'}"
Print #2,"function scrollToImg(i){window.scrollTo(parseInt(document.getElementsByTagName('div')[i].style.left)+parseInt(document.getElementsByTagName('div')[i].offsetWidth)*0.5-290,parseInt(document.getElementsByTagName('div')[i].style.top)+parseInt(document.getElementsByTagName('div')[i].offsetHeight)*0.5-200)}"
Print #2,"-->"
Print #2,"</script>"
Print #2,"</HEAD>"
Print #2,"<body onselectstart='return false' oncontextmenu='return false'>"
Print #2,"<div style='height:527px;width:764px;background-image:url("+fNam2URI(GrundBild$)+")'></div>"
Declare x$,y$,xx$,yy$

WhileLoop @GetCount(LV&)

    x$=(substr$(@GetString$(LV&,(&loop-1)),1,"|"))
    y$=(substr$(@GetString$(LV&,(&loop-1)),2,"|"))
    xx$=(substr$(@GetString$(LV&,(&loop-1)),3,"|"))
    yy$=(substr$(@GetString$(LV&,(&loop-1)),4,"|"))
    Obj$=trim$(substr$(@GetString$(LV&,(&loop-1)),7,"|"))
    '~~~~~~~~

    If Obj$="Linie"

        xx$=str$(Gbildx%)
        yy$=str$(Gbildy%)

    EndIf

    '~~~~~~~~~~~
    Obj$=""+dataStorageDir$+"B"+trim$(str$(&loop))+".gif"
    Print #2,"<div style='position:absolute; left:"+x$+"px; top:"+y$+ \
    "px;width:"+xx$+"px;height:"+yy$+"px;background-image:url("+fNam2URI(Obj$)+");visibility:hidden'>Objekt"+str$(&loop)+"</div>"

EndWhile

Print #2,"</body>"
Print #2,"</html>"
Close #2
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
var File$=dataStorageDir$+"Grid.html"
declare WebControl&
var WebObject&=ocxCreate(File$,%hwnd,0,0,565,430,$50000000+$200000+$100000,addr(WebControl&))
var Document&=ocxGet(WebObject&,"Document")
var Script&=ocxGet(Document&,"Script")
SetFocus(LV&)
userMessages 16
sendmessage(lv&,$1036,0,$20+$1+$4)

while 1

    waitinput
    case %umessage=16:break

    If (%wmnotify*%notifycode)=-12

        ~GetCursorPos(Hit#)
        ~ScreenToClient(lv&,Hit#)
        Item%=sendmessage(lv&,~LVM_HITTEST,0,Hit#)
        doJS("setImgVis("+str$(item%+1)+","+str$(testBit(sendMessage(lv&,~LVM_GETITEMSTATE,item%,~LVIS_STATEIMAGEMASK),13))+")")

    endif

    case getFocus(LV&) and (GetCurSel(LV&)>-1) : doJS("scrollToImg("+str$(GetCurSel(LV&)+1)+")")

endwhile

DeleteObject Font&
DeleteObject bmp&
destroywindow(WebControl&)
ocxRelease(Script&,Document&,WebObject&)
ocxDeInit()

proc fNam2URI

    parameters s$
    return "file:///"+translate$(translate$(s$,"\\","/"),"//","/")

endProc

proc doJS

    parameters s$
    ocxPut(Script&,"evalCode",s$)
    ocxMethod(Script&,"evalNow")

endProc


Nun mit Häkchen in der ListView und je nach dem ob der Haken gesetzt ist wird das Objekt angezeigt und wenn man eine Zeile in der ListView selektiert scrollt im Ausgabebild das Objekt in die Anzeigemitte.

@Stephan: Warum loggst Dich nicht ein? o_O

ListView-CheckBoxen von Uwes Code ( [...]  ) abgeschaut.

Nachtrag: Unnötiges und nur zu Testzwecken eingetipptes:
KompilierenMarkierenSeparieren
showWindow(lv&,0)
showWindow(lv&,1)
entfernt.
 
03.05.2011  
 




Thomas
Freier
Das müßte seinen Wünschen nahe kommen und ein gutes Grundgerüst sein.
Ich hatte nur noch einen Mecker, da $H commctrl.ph für die Checkboxen fehlte.
 
Gruß Thomas
Windows XP SP2, XProfan X2
03.05.2011  
 



Ah, OK, habs oben eingefügt...
 
03.05.2011  
 



Wo ichs grad sehe:
KompilierenMarkierenSeparieren ist das Gleiche wie:
KompilierenMarkierenSeparieren
 
03.05.2011  
 




Uwe
''Pascal''
Niemeier
Hi Leute!

Man kann sich den Aufruf von IrfanView sparen, wenn man bei den Styles der Overlays einen Chroma-Filter setzt:

<div style='filter:Chroma(color=#FFFFFF); position:absolute;...usw...

Vielleicht klappen sogar die dynamischen Filter; gäbe 'ne Menge netter Effekte...

BTW: Wie sieht das eigentlich mit JS in lokal gespeicherten HTML-Seiten aus?
Kann man das per Sicherheitseinstellung im IE abwürgen?

SeeYou
Pascal
 
04.05.2011  
 




Stephan
Lührsen
Hallo Profaner,
nochmals vielen Dank. Das "Grundgerüst" übertrifft alle meine Erwartungen. Ich werde es jetzt in meinem Proggi integrieren und entsprechend anpassen. Checkboxen, Scroll-Funktionen und alles andere was ich mir gewünscht habe. Einfach genial.

Noch zum Code. IrfanView ist ein Programm, welches von Endnutzer separat installiert werden müßte. Mein Gedanke ist das BatchProgramm pvw32con zu benutzen. Es ist nur 244kb groß und kann in einem Rutsch ein ganzen Verzeichnis in GIF umwandeln. Ich habe noch nicht herausgefunden wie die transparente Farbe zu deklarieren ist. Der Chroma-Filter scheint nicht mit jedem Browser zu funzen.

Grüße aus dem schönen Friesland

Stephan Lührsen
 
www.L-PROG.de
Software und Homepages zu erschwinglichen Preisen
04.05.2011  
 




Stephan
Lührsen
Ja - ich nochmal. Die Erstellung der transparenten GIF's geht nur mir der PVW32.dll, welche ebenfalls FREEWARE ist und das GIF-Format 89a unterstützt. Nur dieses kennt transparente Hintergundfarben. Als Zwischenlösung geht auch eine Umwandlung mit PVW32CON (PNG/JPG nach GIF) und danach eine weitere Umwandlung von GIF 87a in GIF 89a via geotrans. geotrans ist ebenfalls FREEWARE und nur 35kb groß.

Downloads unter:  [...]  (pvw32.dll)
bzw:  [...]  (geotrans)

Gruß Stephan
 
www.L-PROG.de
Software und Homepages zu erschwinglichen Preisen
04.05.2011  
 



Hey!

"filter:Chroma" nach Uwes Tip ist imho doch insofern besser da das Programm ja immer IE als anzeigendes Control verwendet und es doch damit imho garnicht relevant ist ob "filter:Chroma" in anderen Browsern funktioniert.

Oder ich übersehe was. ^^
 
05.05.2011  
 




Thomas
Freier
Ich denke nein, und daher Stephans Einwand : kein reines XProfan. Aber @Create("HTMLWin", H, S, N, X, Y, DX, DY) geht ohne IE auch nicht.
Und mit "filter:Croma" geht es recht flott.
Und Pascals Frage nach JS würde ich mit nein beantworten, denn bei meinen alten Vereinsseiten mit JS kommt der Sicherheitshinweis, dass das Ausführen von Skripts aus Sicherheitsgründen eingeschränkt ist und bei der hier erstellten Grid.html auch. Aber nicht , wenn sie vom Programm verwendet wird. Da wird JS ohne Aufhebung der Beschränkung ausgeführt.
Interessant wäre auch noch Zoom. Der für eine PDF gültige Befehl geht nicht und für dieses Control kann ich nichts finden. Pascal du ???
Und Stephan, bei deiner Bildgröße würde ich bei einem Vieleck eine MCls aus den x_min,y_min - x1_max,y1_max Werten (vorher in Schleifen ermitteln) erzeugen damit das Vieleck in den Sichtbereich gescrollt werden kann und nicht wie hier im Beispiel die Bildgröße als Basis fürs MCls nehmen .
 
Gruß Thomas
Windows XP SP2, XProfan X2
05.05.2011  
 



Hab's mal mit "pagezoom" probiert. Leider werden die Scrollbalken einbezogen, so dass es nur mit Zoom +-50% noch ansehbar bleibt.
Eine markierte Zeile sollte nach Befehlsabarbeitung demarkiert werden. Andernfalls wird das Hintergrundbild bei Klick ins LV entfernt.
'URL: https://xprofan.com/intl/de/forum/grafiken-mit-overlay-funktionen-an-abwaehlbar/#bottom
'{$cleq}
 $H Windows.ph
 $H commctrl.ph
 $H ocx3a.ph
 $I ocx3a.inc
def $appName "GMOF"
Var dataStorageDir$ = $appDataDir+$appName+"\\"
mkDir dataStorageDir$
'
ocxInit()
var GrundBild$ = @LoadFile$("Grundbild wählen:","Bilder|*.jpg;*.png")
case (Grundbild$="") or (fileExists(grundBild$)=0) : end
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~Grundbildgröße für Linien/-zug
struct HIT=x&,y&,Flags&,Item&,SubItem&
Declare Gbildx%,Gbildy%,bmp&,Hit#,Item%,Status%
dim Hit#,HIT
bmp&=@Create("hPic",-1,Grundbild$)
Gbildx%=%BmpX
Gbildy%=%BmpY
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
windowStyle 1 | 2 | 8 | 16 | 512
window 1000,500
Var Font&=@Create("Font","Verdana",16,0,0,0,0)
SETDIALOGFONT Font&
var Titel$ = "x;1;40;y;1;40;Obj-x;1;60;Obj-y;1;60;LEnd-x;1;60;LEnd-x;1;60;Objekt;0;100"
var LV&   = Create("GridBox", %hwnd, Titel$, 0, 580, 10, 400, 190)
'
var irfanExeFile$=substr$(readini$("HKEY_0","Applications\\i_view32.exe\\shell\\open\\command\\",""),2,"\q")
case irfanExeFile$="" : irfanExeFile$="C:\\Programme\\IrfanView\\i_view32.exe"
'
AddString(LV&, "200|100|200|200|0|0|Kreis")
AddString(LV&, "100|20|80|80|0|0|nEck")
AddString(LV&, "600|200|100|200|0|0|Kreis")
' ACHTUNG !! Linien und Linienzug: MCls = Bildgröße und liegt damit auf x=0px, y=0px
' Werte für Linienzug in LEnd-x (LEnd-y) durch ; getrennt
AddString(LV&, "0|0|100|360|300|40|Linie")
AddString(LV&, "0|0|10|20|100;120;230|40;80;100|Linie")
var scroll&=@Create("HScroll",%hwnd,"",580,230,100,20)
var scrollpos&=CreateText(%hwnd,"100%",700,230,40,20)
var scroll!=50
SetScrollPos scroll&,scroll!
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Bilder erstellen und als GIF speichern
' Größe = Grundbild, Pos. und Größe X und Y vorgeben
Declare i%,x%,y%,xx%,yy%,Obj$,Text$

WhileLoop @GetCount(LV&)

    x%=val(substr$(@GetString$(LV&,(&loop-1)),3,"|"))
    y%=val(substr$(@GetString$(LV&,(&loop-1)),4,"|"))
    Obj$=trim$(substr$(@GetString$(LV&,(&loop-1)),7,"|"))

    If Obj$="Linie"

        xx%=val(substr$(@GetString$(LV&,(&loop-1)),5,"|"))
        yy%=val(substr$((substr$(@GetString$(LV&,(&loop-1)),6,"|")),1,";"))
        MCls Gbildx%, Gbildy%
        StartPaint -1
        Line x%, y% - xx%,yy%
        i%=2

        While 1

            text$=(substr$((substr$(@GetString$(LV&,(&loop-1)),5,"|")),i%,";"))
            text$=text$+(substr$((substr$(@GetString$(LV&,(&loop-1)),6,"|")),i%,";"))
            case trim$(text$)="" : Break
            x%=xx%
            y%=yy%
            xx%=val(substr$((substr$(@GetString$(LV&,(&loop-1)),5,"|")),i%,";"))
            yy%=val(substr$((substr$(@GetString$(LV&,(&loop-1)),6,"|")),i%,";"))
            Line x%, y% - xx%,yy%
            inc i%

        wend

        EndPaint -1

    Else

        MCls x%, y%
        StartPaint -1
        case Obj$="nEck" : Rectangle 0,0 - x%, y%
        case Obj$="Kreis" : Ellipse 0,0 - x%, y%
        EndPaint -1

    EndIf

    bmp&=@Create("hPic",0,"&MEMBMP")
    Obj$="B"+str$(&loop)+".png"
    SavePic dataStorageDir$+Obj$, bmp&
    '    Obj$="B"+str$(&loop)
    '    winExecWait(  irfanExeFile$+" "+dataStorageDir$+Obj$+ \
    '    ".png /transpcolor=(255,255,255) /convert="+dataStorageDir$+Obj$+".gif" ,1)

EndWhile

'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~3. html erzeugen
assign #2,dataStorageDir$+"Grid.html"
rewrite #2
Print #2,"<HTML>"
Print #2,"<HEAD>"
Print #2,"<TITLE>Script</TITLE>"
Print #2,"<style>"
Print #2,"body{align:left},img,div{margin:0;padding:0;border:0;cursor:default;text-align:center}"
Print #2,"div{font-family:Verdana;font-size:10px;font-weight:normal;COLOR:#6f95c7;padding:0px 0px 0px 0px;}"
Print #2,"</style>"
Print #2,"<script type='text/javascript'>"
Print #2,"<!--"
Print #2,"var evalCode = '';"
Print #2,"function evalNow(){return eval(evalCode)};"
Print #2,"function setImgVis(i,state){document.getElementsByTagName('div')[i].style.visibility=state==1?'visible':'hidden'}"
Print #2,"function scrollToImg(i){window.scrollTo(parseInt(document.getElementsByTagName('div')[i].style.left)+parseInt(document.getElementsByTagName('div')[i].offsetWidth)*0.5-290,parseInt(document.getElementsByTagName('div')[i].style.top)+parseInt(document.getElementsByTagName('div')[i].offsetHeight)*0.5-200)}"
Print #2,"function pagezoom(i){ document.body.style.zoom=i;}"
Print #2,"-->"
Print #2,"</script>"
Print #2,"</HEAD>"
Print #2,"<body onselectstart='return false' oncontextmenu='return false'>"
Print #2,"<div style='height:527px;width:764px;background-image:url("+fNam2URI(GrundBild$)+")'></div>"
Declare x$,y$,xx$,yy$

WhileLoop @GetCount(LV&)

    x$=(substr$(@GetString$(LV&,(&loop-1)),1,"|"))
    y$=(substr$(@GetString$(LV&,(&loop-1)),2,"|"))
    xx$=(substr$(@GetString$(LV&,(&loop-1)),3,"|"))
    yy$=(substr$(@GetString$(LV&,(&loop-1)),4,"|"))
    Obj$=trim$(substr$(@GetString$(LV&,(&loop-1)),7,"|"))
    '~~~~~~~~

    If Obj$="Linie"

        xx$=str$(Gbildx%)
        yy$=str$(Gbildy%)

    EndIf

    '~~~~~~~~~~~
    Obj$=""+dataStorageDir$+"B"+trim$(str$(&loop))+".png"
    Print #2,"<div style='filter:Chroma(color=#FFFFFF); position:absolute; left:"+x$+"px; top:"+y$+ \
    "px;width:"+xx$+"px;height:"+yy$+"px;background-image:url("+fNam2URI(Obj$)+");visibility:hidden'>Objekt"+str$(&loop)+"</div>"

EndWhile

Print #2,"</body>"
Print #2,"</html>"
Close #2
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
var File$=dataStorageDir$+"Grid.html"
declare WebControl&
var WebObject&=ocxCreate(File$,%hwnd,0,0,565,430,$50000000+$200000+$100000,addr(WebControl&))
var Document&=ocxGet(WebObject&,"Document")
var Script&=ocxGet(Document&,"Script")
SetFocus(LV&)
userMessages 16
sendmessage(lv&,$1036,0,$20+$1+$4)
showWindow(lv&,0)
showWindow(lv&,1)

while 1

    waitinput
    case %umessage=16:break

    If (%wmnotify*%notifycode)=-12

        ~GetCursorPos(Hit#)
        ~ScreenToClient(lv&,Hit#)
        Item%=sendmessage(lv&,~LVM_HITTEST,0,Hit#)
        doJS("setImgVis("+str$(item%+1)+","+str$(testBit(sendMessage(lv&,~LVM_GETITEMSTATE,item%,~LVIS_STATEIMAGEMASK),13))+")")

    endif

    If getFocus(LV&) and (GetCurSel(LV&)>-1)

        doJS("scrollToImg("+str$(GetCurSel(LV&)+1)+")")
        LvDeSelect LV&,GetCurSel(LV&)

    EndIf

    If getFocus(Scroll&)

        @Set("Decimals",2)
        scroll!=1.0 + ((@GetScrollPos(scroll&)-50)/100)
        doJS("pagezoom("+str$(scroll!)+")")
        @Set("Decimals",0)
        SetText scrollPos&,str$((@GetScrollPos(scroll&)+50))+"%"

    EndIf

endwhile

ocxRelease(Script&,Document&,WebObject&)
DeleteObject Font&
DeleteObject bmp&
destroywindow(WebControl&)
ocxDeInit()

proc fNam2URI

    parameters s$
    return "file:///"+translate$(translate$(s$,"\\","/"),"//","/")

endProc

proc doJS

    parameters s$
    ocxPut(Script&,"evalCode",s$)
    ocxMethod(Script&,"evalNow")

endProc

proc LvDeSelect'deselectieren

    parameters Lv&,Item&
    Declare s#
    dim s#,1024
    long s#,12=0
    long s#,16=~LVIS_SELECTED | ~LVIS_FOCUSED
    sendmessage(Lv&,~LVM_SETITEMSTATE,Item&,s#)
    dispose s#

endproc

 
06.05.2011  
 




Uwe
''Pascal''
Niemeier
Hi Leute!

Das mit dem Zoom war vom Prinzip schon richtig, nur muß es ausschließlich auf die Bilder angewendet werden. In Profan+ocx sähe das ganz grob so aus:
proc Zoom'---------------------------------------------Zoom

    parameters Faktor!'-- 1.0 = Normal
    var Collection&=ocxMethod(Document&,"getElementsByTagName","DIV")
    declare Element&,Style&

    whileloop 0,9999

        Element&=ocxMethod(Collection&,"item",&loop,0)
        casenot Element&:break
        Style&=ocxGet(Element&,"style")
        ocxPut(Style&,"zoom",Faktor!)
        ocxRelease(Style&,Element&)

    endwhile

    ocxRelease(Collection&)

endproc'---------------------------------------------------


Das läßt sich auch nach JS umsetzten, aber da bin ich nicht so firm drin...

HTH
Pascal
 
06.05.2011  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

36.536 Betrachtungen

Unbenanntvor 0 min.
Tommy13.02.2023
ByteAttack06.10.2015
Torsten Rümker03.06.2015
Michael W.25.12.2014
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie