Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2778 connectés 

 


Dernière réponse
Sujet : [Win32 et bidouille] Pomme d'API , memory DC et ses joyeux amis....
seblamb Non c'est pas open source, et je peux pas te garantir à 100% qu'il fait comme cela mais c'est la méthode usuelle pour ce genre de problèmes ( traitement de texte...).  
 
Sinon IE est très ouvert pour un programmeur qui sait utiliser les activeX, tous les tags HTML sont convertis en objets et on peut facilement modifier la page affiché en temps réel, recevoir de evenements,... dans un programme externe à ie. On peut même mettre ie dans son propre programme.

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
seblamb Non c'est pas open source, et je peux pas te garantir à 100% qu'il fait comme cela mais c'est la méthode usuelle pour ce genre de problèmes ( traitement de texte...).  
 
Sinon IE est très ouvert pour un programmeur qui sait utiliser les activeX, tous les tags HTML sont convertis en objets et on peut facilement modifier la page affiché en temps réel, recevoir de evenements,... dans un programme externe à ie. On peut même mettre ie dans son propre programme.
HelloWorld merci merci :)
si j'ai bien compris, il affiche ce qu'il a calculé precedement et calcule ce qu'on va surement lui demander un peu + tard ? c pas con ... comment connais tu le fonctionnement de IE ? (c'est open source ? :??:)
 
mais ... qui est dédé ?
seblamb

HelloWorld a écrit a écrit :

et tant qu'on y est, comment il gere IE les liens hyper text ?
il cree un label expres en plein milieu du text et gere le mouseclick ?




Pour les liens hypertexts, IE à un tableau où sont regroupé tous les elements qui composent la pages et fais une recherche pour savoir lequel se trouve sous la souris à chaque fois que tu bouge la souris.
Cette fonction est même "publique", si tu utilise l'activeX IWebBrowser tu peux t'en servir.
Bien tout cela est très optimisé pour que la recherche ne prenne qu'un temp infime
 
Pour ce qui est l'affichage du texte un example  
  IE affiche sur un écran de 3 lignes la page html suivante
    AAAAA
    BBBBB
    CCCCC
    DDDDD
    EEEEE
 il affiche dans un 1er temp
   AAAAA
   BBBBB
   CCCCC
puis quand on scrole
 il deplace le bloc  
  BBBBB
  CCCCC  
 vers le haut avec une fonction Bitblt
 puis affiche la ligne  
  DDDDD
 Donc en fait il ne raffiche qu'une toute petite partie de la page ce qui est très rapide.  
Bien sur il faut toujours optimiser pour savoir quelle ligne il faut afficher, et puis gérer le fait qu'on ne se déplace pas d'une ligne à la fois mais de x pixels.

spark Merci pour vos réponses, meme si je ne trouve pas ces solutions assez convainquantes...
La je me suis lancé dans une matrice de DC, on va voir si ca le fait...
Mais il est pas exclus que j'utilise la technique qui redessine seulement la partie nouvellement exposée.
Sinon, je sais toujours pas comment IE fait pour gérer des pages de 10km de long........ y a pas des browser open source pour voir comment y s'y prennent ?
HelloWorld et tant qu'on y est, comment il gere IE les liens hyper text ?
il cree un label expres en plein milieu du text et gere le mouseclick ?
HelloWorld Pomme d'API, mdr :lol: :lol: :lol:
sinon : "La meilleur solution mais pas la plus simple, c'est de redessinner que la partie que tu fais apparaitre lors du scroling et de deplacer la partie deja affichée mais encore valable."
 
tu peux detailler un peu + : ca m'interresse bcp moi aussi, comment IE il se demerde pour afficher 10 km de txt + images en restant (assez) fluide. ;)
et si te le fait, je serais happy !! (API, bon d'accord c nul)
seblamb

spark a écrit a écrit :

Pas glop
D'autres idées ?
Comment y font a votre avis dans photoshop quand on zoom a mort ?
et internet explorer pour afficher des pages de 2km de haut ?




Pour IE c'est comme j'ai indiqué.
Pour photoshop, il mettent le bitmap en mémoire puis affichent une partie le bitmap dans le DC pendant le scroling.

BENB Fait un DC de la taille de la fenetre, tu le scroll et tu rajoutes la partie qui apparait...
ZZZzzz t'as essayé de crée des image DIB ?? (CreateDIBitmap(...)) j'ai jamais essayé mais j'ai déjà vu des applics qui s'en servaient et ça avait l'air pas mal...
sinon à la limite tu utilises le directdraw... une géante surface Back que tu blit en partie dans ta surface primary... mais sur des tailles si grandes je sais pas ce que ça donne (il faudra de toute manière la crée en mémoire système la surface back)
spark Pas glop
D'autres idées ?
Comment y font a votre avis dans photoshop quand on zoom a mort ?
et internet explorer pour afficher des pages de 2km de haut ?
seblamb La meilleur solution mais pas la plus simple, c'est de redessinner que la partie que tu fais apparaitre lors du scroling et de deplacer la partie deja affichée mais encore valable.
Le problème c'est que tu dois vachement optimiser la procédure d'afffichage pour cela.
spark Bon, on est en train de faire un ocx pour representer en gros des grands diagrammes. Pour l'instant, c'est fait à la porcos, quand le mec scrolle, on s'amuse a tout redessiner à la main. Ca rame a mort, surtout quand il y a plein d'éléments à l'ecran.
Alors on s'est dit, on va scroller une image au lieu de tout redessiner comme des cons.
Donc, on s'est dit, on va utiliser un DC en mémoire!
Yeah !
Seulement, on s'est vite rendu compte que c'était un peu de la merde pour ce qu'on veut faire... Car c'est limité en taille.... et nous on a besoin de beaucoup beaucoup de place...
C'est un peu un genre de calendrier et si le mec veut visualiser une année avec un précision de 10-20 pixels par heure, ca fait un peu plus de 175000 pixels de large...... et encore, c'est juste pour une année....
Donc, on s'est dit, pas de problemes, on va ruser comme des porcos
Et là, nouvelle idée, on va creer un super tableau de DC pour faire un genre de mosaique comme canalsatellite mais avec du scrolling.
Yeah !
Mais là, on se rend compte que c un peu chiant pour dessiner un trait qui passe entre plusieurs DC, mais ca pas impossible.
DONC, si t'es pas encore mort de rire en voyant comment on veut faire et que tu as une idée, fait moi signe.
Et si tu es blonde a forte poitrine aussi.... on sais jamais....
 
Bref, vu qu'un DC est limité un peu a 8.000.000 pixels² (4.000*2.000 pixels par exemple) et qu'on veut faire le pire scrolling FLUIDE sur une zone immense, comment qu'on doit faire ?
 
Merci de votre attention, et @ bientot pour de nouvelles aventures porcosiennes.
 
Spark & Smocky

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)