27/04/2024
Windev et les Api Windows
Nb de visiteurs en ligne : 2
>> Introduction <<
>> Codes et Forum <<
>> Download <<
Rubrique
: 2 - Windev 7x
Sujet
: miniature d'une fenetre ou d'une page web
Auteur
Message
Mnémosyne
Posté le : 06/07/2003 07:45:01
Bonjour à toutes et à tous,
J'aurais aimé pouvoir "capturer" à la façon copie d'écran la fenetre (ou ici le champ) active (comme lorsque nous utilisons ALT + IMP ECR ) et d'en appliquer une réduction (de l'ordre du timbre poste:-) afin de créer une historique des pages web visitées mais affichées comme sous WINDEV (arborescence des menus, fenetres,...)
Si WINDEV le fait avec les fenetres que nous créons... cela doit être possible (c'est ce que je me dis :-))
smack de Mnémosyne.
°¨¨ JL ¨¨°
Posté le : 07/07/2003 13:47:48
Salut,
Pour faire une copie du champ activex1 en miniature :
Il te faut un champ image (invisible) dans ta fenêtre (im1 dans l'ex. suivant)
hwnd est un entier =Handle("im1") // handle du champ image
hwndfen est un entier = Handle(ActiveX1) // handle de la fenêtre ou du champ à copier
hdcScreen est un entier = AppelDLL32("user32","GetWindowDC" , hwndfen)
rect est composé de
l est un entier
t est un entier
r est un entier
b est un entier
FIN
AppelDLL32("user32","GetWindowRect" , hwndfen , &rect)
HORZRES est un entier = rect.r - rect.l
VERTRES est un entier = rect.b - rect.t
Im1..X=0
Im1..Y=0
Im1..Largeur=HORZRES / 4 //25%
Im1..Hauteur=VERTRES / 4 //25%
dcim1 est un entier =dDébutDessin("im1")
API("gdi32","StretchBlt", dcim1, 0, 0, Im1..Largeur, Im1..Hauteur, hdcScreen, 0, 0, HORZRES, VERTRES, 0x00CC0020)
dSauveImageJPEG("im1","copieecr.jpg")
AppelDLL32("user32","ReleaseDC",hwndfen,hdcScreen)
dFinDessin()
A+
mnemosyne
Posté le : 08/07/2003 15:41:52
merci JL... c'est impeccable !!!
je suis épatée ! BRAVO...
Mnémosyne
Posté le : 08/07/2003 16:27:49
j'ai cependant des "couacs" car j'ai fait un dCopieImage vers un champ image visible et la vue réduite est décalée par rapport à la page affichée (c'est la précédente qui s'affiche et le champ ne se met pas à jour automatiquement...).
Merci J.L.
°¨¨ JL ¨¨°
Posté le : 08/07/2003 17:48:51
Re,
Hum... je ne vois pas de dcopieimage dans mon code moi
Est-ce que l'image sauvegardée est également décalée ?
A+
Mnémosyne
Posté le : 08/07/2003 18:21:33
Exactement, l'image sauvegardée est décalée (ce n'est pas celle qui est affichée mais la précédente quand il y en a (blanc au lancement de l'appli)...
J'ai juste ajouté à ton code la procédure dCopieImage pour copier le champ im1 (invisible) à un autre champ image visible juste après la fonction de sauvegarde sur disque...
Détail : la procédure locale est appelée à chaque évenement NavigateComplete2
fonctionne cependant correctement quand je force l'appel de la procédure par un clic sur le champ image...
Smacks Mnémo.
Mnémosyne
Posté le : 08/07/2003 21:06:33
Le problème semble venir de l'utilisation du cache des pages web...
l'évemenent NavigateComplete2 est envoyé directement (dans le cas de ma 'goHome') et la procédure renvoie une première fois une page blanche... le reste est décalé....
>>
Poster un message dans un NOUVEAU sujet.
>>
Poster un message dans ce sujet.