| |
|
|
- page 1 - |
|
Hans-Jürgen Trog | Salut,
j'ai un Imagelist (s. grande-Bitmap-Icônes.prf de Frank) angelegt, à Bilder eines Ordners Montrer trop laisser. en supplément devoir eh bien mais aussi qui Dateinamen angezeigt volonté. mon Fragen en supplément:
1. comment peux je qui Fichiers eines Ordners dans cela Listview einlesen? Pour Possibilité automatisch. 2. gleichzeitig devoir en supplément aussi qui Minibilder angezeigt volonté. 3. Ist es possible, chez z.B. 3 Spalten aussi chaque Zellen anzuklicken? D.h., qui je comme Rückgabe sur un Bild bzw. dessen Dateinamens comme Rückgabe cette Dateinamen erhalte. alors z.B. dans qui 3. la ligne cela 2. Bild Vous pouvez usw.
Viele Grüße Hans-Jürgen |
|
|
| |
|
|
|
| |
|
- page 1 - |
|
Thomas Freier | Wenns car une Bildvorschau avec qui Listview son soll, volonté hiermit alle Fragen beantwortet?
{$iq}
Déclarer lvdll&,listview&,text$,x&,y&,z&,ilist&
Déclarer bild&[199]
Déclarer bereich#
Faible bereich#,512
Def GetSysColor(1) !"User32","GetSysColor"
$I Listview_Funktionen.inc
lvdll&=usedll("Listview.dll")
Windowtitle "Unbegrenzt grosse Bilder dans Listviews einbauen"
Windowstyle 26+512
Fenêtre 0,0-640,600
Cls GetSysColor(15)
Def ImageList_Create(5) !"comctl32.dll","ImageList_Create"
Def ImageList_Destroy(1) !"comctl32.dll","ImageList_Destroy"
Def ImageList_Add(3) !"comctl32.dll","ImageList_Add"
Usefont "MS Sans Serif",10,0,0,0,0
SetDialogFont 1
Profan-interne Listbox füllen
Bilder dans qui Listbox
var Pfad$ = @GETDIR $("@")
ClearList
ChDir Pfad$ + "\lvdata"
AddFiles "*.JPG"
ChDir Pfad$
Gewünsche Bildgrösse pour cet Demo skaliert: 30 x 30 Pixel
ilist&=ImageList_Create(30,30,33,0,0)
listview&=CreateListView(%hwnd,%HINSTANCE,0,GetSysColor(24),-1,$23)
SetImageList(listview&,ilist&)
x& = 1 + ((1+%GetCount) / 2) Anzahl qui erforderlichen Zeilen chez 2 Spalten
BuildListview(listview&,2,x&,280,0)
text$="Spalte 1"
SetColumnName(listview&,Addr(text$),0)
text$="Spalte 2"
SetColumnName(listview&,Addr(text$),1)
Déclarer Nr%
Nr%= 0
x& = 0 la ligne
Tandis que Nr% < %GetCount Anzahl qui Bilder dans qui Listbox
y& = 0 Spalte
Tandis que y& < 2
text$= Pfad$ + "\lvdata\" + @ListBoxItem$(Nr%)
bild&[Nr%] = Créer("hSizedPic", -1,text$, 30, 30, 1)
ImageList_Add(ilist&,bild&[Nr%],0)
text$= " " + @ListBoxItem$(Nr%)
SetItemText(listview&,addr(text$),y&,x&)
SetIconColumn(y&)
SetIcon(listview&,x&,Nr%)
DeleteObject bild&[Nr%]
inc y&
inc Nr%
Cas nr% > %GetCount : BREAK
Endwhile
inc x&
Endwhile
ShowListView(listview&,8,8,612,304)
text$="Registriert alle Mausklicks (à gauche, à droite, Double-cliquez sur) sur une Itemtext.
"
text$=text$+"Auch linke et rechte Mausklicks sur Spaltenbuttens volonté registriert."
var status&=Créer("TEXT",%HWND,text$,8,464,600,72)
InitMessages(%hwnd)
Tandis que 1
waitinput
Cas %clé=2:BREAK
y&=GetControlParas(bereich#)
Si y&=2
text$="Der rechte Mausknopf wurde dans Spalte "+Str$(Long(bereich#,4))+" / "+Str$(Long(bereich#,8))+" gedrückt.
"
SetText status&,text$
ElseIf y&=1
text$="Der linke Mausknopf wurde dans Spalte "+Str$(Long(bereich#,4))+" / "+Str$(Long(bereich#,8))+" comme Double-cliquez sur gedrückt.
"
SetText status&,text$
ElseIf y&=3
text$="Der linke Mausknopf wurde dans Spalte "+Str$(Long(bereich#,4))+" / "+Str$(Long(bereich#,8))+" gedrückt.
"
SetText status&,text$
GetItemText(listview&,bereich#,Str$(Long(bereich#,4)),Str$(Long(bereich#,8)))
text$=$ Trim(String$(bereich#,0))
MessageBox "Mit Linksklick pourrait cela Bild
"+ text$ +"
dans Originalgröße angezeigt volonté...»information",$40040
EndIf
Endwhile
Dispose bereich#
ImageList_Destroy(ilist&)
DestroyWindow(%hwnd)
freedll lvdll&
Fin
21 montre une Bilderordner gestestet. Es venez trop einer Fehlanzeige et qui Aufbau dauert ewig.
venez cela Beispiel de "Pascal" dans Frage?
LoadFile-Dialog avec Bitmap-Anzeige (ab Windows 2000 / XP)
(C) Uwe "Pascal" Niemeier
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
|
|
|
| |
|
|
|
Hans-Jürgen Trog | allô Thomas,
qui Code de Pasqal ist prima. Läuft
dans qui la ligne long ofn#,68=procaddr("OpenFileHook",4) habe je rausgefunden, qui qui 4 = avec Bild et qui 0 = sans Bild(liste) bedeutet.
sais Du viell., si on ici qui -4 aussi changement doit, si on 0 (obere la ligne) einsetzt? procaddr("OpenFileHook",-4)
merci Hans-Jürgen |
|
|
| |
|
|
|
| Autsch! qui 2. Param de ProcAddr muss le nombre qui trop erwartenden paramètre son - Du darfst ici à qui 4 rien changement...
quoi Du beobachtet la hâte ist une Fehlfunktion, alors seulement scheinbar richtiges Ergebnis à cause de falscher Ursache. |
|
|
| |
|
|
|
Hans-Jürgen Trog | allô iF,
ok, mais comment bzw. quoi pourrait on transfert, um z.B. per Menüpunkt entre den beiden Varianten choisir trop peut? ou bien allez cela pas?
merci Hans-Jürgen |
|
|
| |
|
|
|
| |
|
| |
|
|
|
Hans-Jürgen Trog | je mon den Code de Pasqal (dessus) avec dem Loadfile-Dialog. dans qui forme wird qui Dialogue avec les Miniaturansichten ouvert. Eigentlich oui c'est ca so, comment je es mir wünschte. mais viell. peux on ihn aussi dans qui Listenansicht ouvrir? si oui, ensuite pourrait je dans mon Progrämmchen choisir laisser, si avec Miniaturen ou bien si comme liste qui Dialog erscheint.
je hatte oui gedacht, dass cela avec qui "4" bzw. "0" bewirkt wird. malheureusement oui faux gedacht
Salut Hans-Jürgen |
|
|
| |
|
|
|
Hans-Jürgen Trog | je habs avec googlen trouvé: [...]
là volonté qui Messages pour gezeigt et es klappt prima!!
Salut Hans-Jürgen |
|
|
| |
|
|
|
| Musst seulement den SendMessage changement bzw. avec cette Konstanten füttern:
comment tu vois verwendet Pascal ici $702D alors SHVIEW_THUMBNAIL.
Ah, étais ne seconde plus rapide... |
|
|
| |
|
|
|
Hans-Jürgen Trog | allô iF,
seulement la fois ne Frage, qui avec diesem bisherigen seulement nebenbei trop tuen hat. Im RGH-Forum habe je à Andreas Miethe cet Frage gestellt: [...]
je ne sais pas, si il Urlaub hat ou bien hoffentlich pas malade ist.
qui Code fonctionne im Hauptfenster (%hwnd). j'ai déjà viel probiert, bekomme mais qui Aktionen pas sur un la fenêtre/Dialog, cela z.B. avec @Créer("Window",N,S,X1,Y1,X2,Y2) erzeugt wurde.
peux Du cela anpassen?
Würde mich très freuen.
merci Hans-Jürgen |
|
|
| |
|
|
| |
|
- page 2 - |
|
|
| peux je, fais je mais pas, car c'est zum Glück pas nötig.
il y a plan oui c'est ca zur simplification solcher Spaghettitexte cela Folgende: [...]
Schaue Dir aussi absolument qui Beispiel-Exen à.
si Du avec qui Syntax qui Source im paquet pas klarkommst (mets XPSE [...] un), ensuite gib Bescheid!
sur jeden le cas ist Dein Code avec cela mais kompakter et leichter verständlich, et Du musst toi pas um Probleme kümmern qui y bereits déjà erledigt sommes.
Hans-Jürgen Trog
allô iF, ... je ne sais pas, si il Urlaub hat ou bien hoffentlich pas malade ist.
Demandez à ihn simple! [...] (mais si je mir den Code ansehe hätte je aussi aucun Lust) (tambour gibts oui qui scrollcontrol-include)
[offtopic] Solche Codes [...] besser sur [...] enlever et dans den Foren seulement den Link. cela hat den Vorteil cela qui Codes "heile" rester - quoi malheureusement im Phorum de Roland pas toujours qui le cas ist. [/offtopic] |
|
|
| |
|
|
|
Hans-Jürgen Trog | iF, tu as es geahnt avec dem Code viens je pas bien sûr. Aussi ist là cela Scrollen zwar très joli, mais pas z.B. cela Ausschneiden usw. je devrait là oui alles changement (
chez dem Code de Andreas venez es oui seulement sur qui Commutateur qui SubClass-Procédure à, avec cela cet Aktionen dans einem la fenêtre courir: Rechteck ausschneiden, Scrollen, Laufbalken, clavier z.B. zum zoomen, Bilddarstellung.
Doit mir wohl ne autre Solution überlegen.
Salut Hans-Jürgen |
|
|
| |
|
|