Français
Source/ Codesnippets

Bild Hook Loadfile Preview Vorschau

 
- page 1 -



Pedro
Santos
allô Roland

Wird es dans XProfan10 chez Loadfile cela bmps Preview dabei son?

Gruss

Pedro
 
Windows XP Home
Xprofan 10
02.04.2006  
 



« cette Beitrag wurde comme Solution gekennzeichnet. »


Jörg
Sellmeyer
Repariert...
window 10,10-700,500
 $H Messages.ph
 $H Windows.ph

proc OpenFileHook'-------------------------------OpenFileHook----------------------------

    parameters dlg&,msg&,wparam&,lparam&
    cas Status%:return 1'-----Ansicht muss seulement einmal angepasst volonté
    casenot msg&=~WM_NOTIFY:return 1

    si long(lparam&,8)=-603'---chez  Init existieren DefView et LV encore pas!

        Status%=1
        DefView&=~FindWindowEx(~GetParent(dlg&),0,"SHELLDLL_DefView",»)
        sendmessage(DefView&,~WM_COMMAND,$702D,0)'--Undokumentierte Message

    endif

    return 1
    endproc---------------------------------------------------------------------------------

    proc LoadPicDialog'------------------------------LoadPicDialog---------------------------

        parameters Pfad$,Titel$,nom$
        declare ofn#,Result$,Result&
        declare DefView&,Status%'------Variablen pour Hook
        nom$=nom$+"\z*.bmp;*.jpe;*.jpeg;*.jpg;*.gifzz"'--filtre (chez besoin anpassen)
        dim ofn#,88+256'---------------Struktur (Win2000/NT/XP) + Puffer
        clear ofn#
        long ofn#,0=88'----------------Grösse Struktur pour GetOpenFileName (76 pour Win9x)
        long ofn#,4=%hwnd'-------------übergeordnetes la fenêtre
        long ofn#,12=addr(nom$)'------filtre/Typ
        long ofn#,28=ofn#+88'----------Beginn Puffer
        long ofn#,32=255'--------------Puffergrösse
        long ofn#,44=addr(Pfad$)'------Anfangspfad
        long ofn#,48=addr(Titel$)'-----Titel
        long ofn#,52=$880024'----------Flags
        long ofn#,68=procaddr(OpenFileHook,4)
        Result&=external("COMDLG32","GetOpenFileNameA",ofn#)
        Result$=string$(ofn#,88)
        casenot Result&:Result$=\
        procaddr("OpenFileHook",-4)
        dispose ofn#
        return Result$

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

    imprimer LoadPicDialog(»,"Bitte Bild wählen","Bild")
    waitkey
 
XProfan X4
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
01.07.2018  
 




Pedro
Santos
allô

je Frage simple nochmal.????

merci

Gruss

Pedro
 
Windows XP Home
Xprofan 10
20.04.2006  
 



Hm quoi ist hiermit? [...] 
 
20.04.2006  
 



Pour cela Schönmachen es mais Du zuständig.

ici je habs la fois zusammengeballert là ego aussi intéressant fand:
KompilierenMarqueSéparation
 {$cleq}
seterrorlevel -1
set(Fastmode,1)
Def GetOpenFileName(1) ! COMDLG32, GetOpenFileNameA
Def CommDlgExtendedError(0) ! COMDLG32, CommDlgExtendedError
Def Mm(3) !KERNEL32, RtlMoveMemory
declare h&,dc&,xx&,yy&,bwidth&,__mem#,preview.lastImg$
dim __mem#,12//(long)hwnd, id, code
clear __mem#
bwidth&=external(USER32,GetSystemMetrics,7)// borderwidth
print Multiloadfile()
dispose __mem#
waitkey
end

proc hook

    parameters _hWnd&,_Msg&,_wparam&,_lparam&

    if _msg&==272//init

        h&=external(USER32,GetParent,_hWnd&)
        dc&=external(USER32,GetDC,h&)
        xx&=width(h&)
        yy&=height(h&)
        external(USER32,SetWindowPos,h&,0,0,0,xx&+bwidth&+220,yy&+bwidth&,20)
        _wparam&=createblackframe(h&,,xx&+10,0,1,yy&)

    elseif _msg&==2//kill

    elseif _msg&==78//notify -602

        declare l&
        l&=addr(__mem#)
        mm(l&,_lparam&,12)

        if long(__mem#,8)==-602

            preview getfname(1125,h&)

        endif

    endif

    return _msg&

endproc

proc preview

    parameters fle$
    case instr(*,fle$) : return

    if fileexists(fle$)

        fle$=lower$(fle$)

        if right$(fle$,4)==.bmp

            if (preview.lastImg$<>fle$)

                preview.lastImg$=fle$
                startpaint h&
                loadsizedbmp fle$,xx&+20,5 - 190,(yy&-15-%cycaption);0
                endpaint

            endif

        endif

        settext h&,Öffnen von q+fle$+q

    elseif direxists(fle$)

        settext h&,Öffnen von q+fle$+q

    endif

endproc

proc getfname

    parameters msg&,h&
    declare s$
    s$=space$(260)
    sendmessage(h&,msg&,260,addr(s$))
    return trim$(s$)

endproc

Proc Multiloadfile

    Parameters title$,fmask$,drive$
    Declare mem#,fle$
    Dim mem#,8100
    fmask$=Bitmap-Dateien (*.bmp)z*.bmpzz
    Clear mem#
    Long mem#,0=76
    Long mem#,4=Getactivewindow()
    Long mem#,8=%Hinstance
    Long mem#,12=Addr(fmask$)
    Long mem#,28=mem#+100
    Long mem#,32=8000
    Long mem#,44=Addr(drive$)
    Long mem#,48=Addr(title$)
    Long mem#,52=( 4 | 2 | 32 | 524288 )
    Long mem#,68=procaddr(hook,4)
    Getopenfilename(mem#)

    if Commdlgextendederror()

        Dispose mem#
        return 0

    endif

    fle$=String$(mem#,100)
    Dispose mem#
    Retour fle$

ENDPROC


si Dir BMP ensuite doch pas reicht ensuite ist es simple avec qui neuen GDI-Unit autre Bildformate trop soutien.

629 kB
Hochgeladen:20.04.2006
Downloadcounter217
Download
 
20.04.2006  
 



Hab den Code grad nochmal vereinfacht...
 
20.04.2006  
 



ici une variante pour alle Bildformate mittels GDI-Unit.
KompilierenMarqueSéparation
 {$cleq}
 $I gdi.inc
seterrorlevel -1
set(Fastmode,1)
Def GetOpenFileName(1) ! COMDLG32, GetOpenFileNameA
Def CommDlgExtendedError(0) ! COMDLG32, CommDlgExtendedError
Def Mm(3) !KERNEL32, RtlMoveMemory
declare h&,dc&,xx&,yy&,bwidth&,__mem#,preview.lastImg$
declare gdiLoadableExtensions$
gdiLoadableExtensions$:=.bmp.dib.rle.jpg.jpeg.jpe.jfif.exif.gif.png.tiff.tif.wmf.emf.ico.
dim __mem#,12//(long)hwnd, id, code
clear __mem#
cls
bwidth&:=external(USER32,GetSystemMetrics,7)// borderwidth
gdi.init
print Multiloadfile()
gdi.kill
dispose __mem#
waitkey
end

proc hook

    parameters _hWnd&,_Msg&,_wparam&,_lparam&

    if _msg&==272//init

        h&:=external(USER32,GetParent,_hWnd&)
        dc&:=external(USER32,GetDC,h&)
        xx&:=width(h&)
        yy&:=height(h&)
        external(USER32,SetWindowPos,h&,0,0,0,xx&+bwidth&+220,yy&+bwidth&,20)
        _wparam&:=createblackframe(h&,,xx&+10,0,1,yy&)

    elseif _msg&==2//kill

    elseif _msg&==78//notify -602

        declare l&
        l&:=addr(__mem#)
        mm(l&,_lparam&,12)

        if long(__mem#,8)==-602

            preview getfname(1125,h&)

        endif

    endif

    return _msg&

endproc

proc preview

    parameters fle$
    case instr(*,fle$) : return

    if fileexists(fle$)

        fle$:=lower$(fle$)

        if instr(.+right$(fle$,3)+.,gdiLoadableExtensions$)

            if (preview.lastImg$<>fle$)

                preview.lastImg$:=fle$
                declare pic&
                pic&:=gdi.loadimage(fle$)
                preview.bg
                gdi.startpaint dc&
                gdi.drawsizedimage pic&,xx&+21,6,188,(yy&-17-%cycaption)
                gdi.endpaint
                gdi.deleteimage pic&

            endif

        endif

        settext h&,Öffnen von q+fle$+q

    elseif direxists(fle$)

        settext h&,Öffnen von q+fle$+q

    endif

endproc

proc preview.bg

    startpaint h&
    usepen 0,0,0
    usebrush 1,$00FFFFFF
    rectangle xx&+20,5 - xx&+210,yy&-10-%cycaption
    endpaint

endproc

proc getfname

    parameters msg&,h&
    declare s$
    s$:=space$(260)
    sendmessage(h&,msg&,260,addr(s$))
    return trim$(s$)

endproc

Proc Multiloadfile

    Parameters title$,fmask$,drive$
    Declare mem#,fle$
    Dim mem#,8100
    fmask$=Bild-Dateien (*+translate$(.+trim$(translate$(gdiLoadableExtensions$,., )), ,;*.)+)z*+translate$(.+trim$(translate$(gdiLoadableExtensions$,., )), ,;*.)+zz
    Clear mem#
    Long mem#,0=76
    Long mem#,4=Getactivewindow()
    Long mem#,8=%Hinstance
    Long mem#,12=Addr(fmask$)
    Long mem#,28=mem#+100
    Long mem#,32=8000
    Long mem#,44=Addr(drive$)
    Long mem#,48=Addr(title$)
    Long mem#,52=( 4 | 2 | 32 | 524288 )
    Long mem#,68=procaddr(hook,4)
    Getopenfilename(mem#)

    if Commdlgextendederror()

        Dispose mem#
        return 0

    endif

    fle$=String$(mem#,100)
    Dispose mem#
    ./../function-references/XProfan/return/'>Retour fle$

ENDPROC

 
20.04.2006  
 




RGH
... et qui es entier sans Programmieren avons voudrais, wählt im entier normalemn Loadfile$-Dialog qui Miniaturansicht* et joli volonté alle de Créer(hPic,...) unterstützten Formate comme Vorschaubild angezeigt. cela allez zumindest sous Windows 2000 et XP.

* Im Dialog dessus à droite cela Icon Vous pouvez et qui entsprechende Ansicht auswählen. cela funktioniert malheureusement pas chez Win98 ou bien Win95. comment es sous WinME aussieht, sais je pas, là je es nie benutzt habe.

Salut
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
20.04.2006  
 



allô Roland
>>* Im Dialog dessus à droite cela Icon Vous pouvez et qui entsprechende Ansicht auswählen. cela funktioniert malheureusement pas chez Win98 ou bien Win95. comment es sous WinME aussieht, sais je pas, là je es nie benutzt habe. <<

peux toi beruhigen: sous ...ME klappt es aussi
 
21.04.2006  
 




RGH
Horst Horn
peux toi beruhigen: sous ...ME klappt es aussi


Ok, ensuite était Bill Gates alors so freundlich, cela Problem pour uns trop lösen et je dois mich dans cette l'affaire pas plus bemühen.

Salut
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
22.04.2006  
 



Uwe Pascal Niemeier
allô gens!

depuis Win2000 wurde qui OpenFileName-Struktur um 3 optionale paramètre ergänzt (siehe MSDN). Wird qui Grösse qui Struktur entsprechend erweitert (qui trois LongInts am Ende doit zéro son) sollte es marcher.
ici une Demo, um une Dialog per Hook dans qui Miniatur-Ansicht trop ouvrir (zwecks Bild-sélection):
window 10,10-700,500
 $H Messages.ph
 $H Windows.ph

proc OpenFileHook-------------------------------OpenFileHook----------------------------

    parameters dlg&,msg&,wparam&,lparam&
    cas Status%:return 1-----Ansicht muss seulement einmal angepasst volonté
    casenot msg&=~WM_NOTIFY:return 1

    si long(lparam&,8)=-603---chez  Init existieren DefView et LV encore pas!

        Status%=1
        DefView&=~FindWindowEx(~GetParent(dlg&),0,SHELLDLL_DefView,)
        sendmessage(DefView&,~WM_COMMAND,$702D,0)--Undokumentierte Message

    endif

    return 1
    endproc---------------------------------------------------------------------------------

    proc LoadPicDialog------------------------------LoadPicDialog---------------------------

        parameters Pfad$,Titel$,nom$
        declare ofn#,Result$,Result&
        declare DefView&,Status%------Variablen pour Hook
        nom$=nom$+z*.bmp;*.jpe;*.jpeg;*.jpg;*.gifzz--filtre (chez besoin anpassen)
        dim ofn#,88+256---------------Struktur (Win2000/NT/XP) + Puffer
        clear ofn#
        long ofn#,0=88----------------Grösse Struktur pour GetOpenFileName (76 pour Win9x)
        long ofn#,4=%hwnd-------------übergeordnetes la fenêtre
        long ofn#,12=addr(nom$)------filtre/Typ
        long ofn#,28=ofn#+88----------Beginn Puffer
        long ofn#,32=255--------------Puffergrösse
        long ofn#,44=addr(Pfad$)------Anfangspfad
        long ofn#,48=addr(Titel$)-----Titel
        long ofn#,52=$880024----------Flags
        long ofn#,68=procaddr(OpenFileHook,4)
        Result&=external(COMDLG32,GetOpenFileNameA,ofn#)
        Result$=string$(ofn#,88)
        casenot Result&:Result$=
        procaddr(OpenFileHook,-4)
        dispose ofn#
        return Result$

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

    imprimer LoadPicDialog(,s'il te plaît Bild choisir,Bild)
    waitkey

HTH
Pascal
 
02.06.2006  
 




Jörg
Sellmeyer
Repariert...
window 10,10-700,500
 $H Messages.ph
 $H Windows.ph

proc OpenFileHook'-------------------------------OpenFileHook----------------------------

    parameters dlg&,msg&,wparam&,lparam&
    cas Status%:return 1'-----Ansicht muss seulement einmal angepasst volonté
    casenot msg&=~WM_NOTIFY:return 1

    si long(lparam&,8)=-603'---chez  Init existieren DefView et LV encore pas!

        Status%=1
        DefView&=~FindWindowEx(~GetParent(dlg&),0,"SHELLDLL_DefView",»)
        sendmessage(DefView&,~WM_COMMAND,$702D,0)'--Undokumentierte Message

    endif

    return 1
    endproc---------------------------------------------------------------------------------

    proc LoadPicDialog'------------------------------LoadPicDialog---------------------------

        parameters Pfad$,Titel$,nom$
        declare ofn#,Result$,Result&
        declare DefView&,Status%'------Variablen pour Hook
        nom$=nom$+"\z*.bmp;*.jpe;*.jpeg;*.jpg;*.gifzz"'--filtre (chez besoin anpassen)
        dim ofn#,88+256'---------------Struktur (Win2000/NT/XP) + Puffer
        clear ofn#
        long ofn#,0=88'----------------Grösse Struktur pour GetOpenFileName (76 pour Win9x)
        long ofn#,4=%hwnd'-------------übergeordnetes la fenêtre
        long ofn#,12=addr(nom$)'------filtre/Typ
        long ofn#,28=ofn#+88'----------Beginn Puffer
        long ofn#,32=255'--------------Puffergrösse
        long ofn#,44=addr(Pfad$)'------Anfangspfad
        long ofn#,48=addr(Titel$)'-----Titel
        long ofn#,52=$880024'----------Flags
        long ofn#,68=procaddr(OpenFileHook,4)
        Result&=external("COMDLG32","GetOpenFileNameA",ofn#)
        Result$=string$(ofn#,88)
        casenot Result&:Result$=\
        procaddr("OpenFileHook",-4)
        dispose ofn#
        return Result$

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

    imprimer LoadPicDialog(»,"Bitte Bild wählen","Bild")
    waitkey
 
XProfan X4
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
01.07.2018  
 



Zum Quelltext


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

14.366 Views

Untitledvor 0 min.
RudiB.11.09.2022
Stringray05.01.2022
Sven Bader10.09.2021
Rolf Koch06.09.2020
plus...

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie