IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Discussion :

pb affichage dans une fenêtre


Sujet :

Windows

  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2004
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 117
    Points : 35
    Points
    35
    Par défaut pb affichage dans une fenêtre
    salut à tous

    voila je cherche à faire un éditeur d'image.
    j'ai déjà fais une library permettant de gérer quelque format d'image.
    j'ai donc essayer de faire une fenetre dans laquelle j'afficherai l'image pour commencer, et j'ai déjà des problèmes.
    j'affiche l'image avec SetPixel (po très optimiser ... enfin bon je me prencherais sur le pb plus tard) le problème pour l'instant c'est que l'image n'apparait pas tout de suite, je suis obliger d'agrandir la fenêtre pour que l'image que j'ai dessiner apparaisse.
    c'est bizarre ?

    @+

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Windows n'ordonne à ta fenêtre de se redessinner que lorsqu'il le juge nécessaire.

    Pour lui dire que c'est nécessaire (après le chargement de ton image, si j'ai bien compris), Utilise la fonction InvalidateRect(hWnd, NULL, TRUE);

    PS: Déjà, plus rapide que SetPixel(), il y a SetPixelV(), à utiliser quand tu te moques pertinemment de l'ancienne valeur du pixel en question. Ça s'utilise comme SetPixel(), sauf que ça renvoit un BOOL.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Février 2004
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 117
    Points : 35
    Points
    35
    Par défaut
    merci sa marche nickel

  4. #4
    Nouveau membre du Club
    Inscrit en
    Février 2004
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 117
    Points : 35
    Points
    35
    Par défaut
    euh, j'ai une question...
    es-ce que c'est possible d'utiliser SetPixelV avec une DialogBox ?
    parce que j'ai commencer par créé une fenêtre mais je pense que je vais galérer parce que c'est qd même plus compliqué de tout créé dynamiquement plutôt que avec l'éditeur de ressource
    mais bon si c'est pas possible de dessiner dans une DialogBox et ben je ferais avec une fenêtre

  5. #5
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Oui, tu peux parfaitement gérer WM_PAINT et WM_ERASEBKGND dans une dialog box, et dans le handler de ces messages, tu peux utiliser toutes les fontions graphiques que tu veux, y compris SetPixelV().

    Note: Les contrôles étant gérés comme des "fenêtres filles", en théorie, ils seront dessinés par dessus ton art: tu n'es pas supposé avoir à te soucier d'eux.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  6. #6
    Membre actif Avatar de gdkenny
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 251
    Points : 248
    Points
    248
    Par défaut
    di donc mat74, je doit aussi afficher des images, mais je n'arrive pas a les scroller, est-ce que toi tu le fais????

  7. #7
    Nouveau membre du Club
    Inscrit en
    Février 2004
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 117
    Points : 35
    Points
    35
    Par défaut
    non dsl je sais pas du tout comment faire.
    en fait je voudrais redimensionner l'image à la taille de la fenêtre, mais il y a un problème ... je ne connais pas la taille de la fenêtre

    gdkenny, si tu trouve tu pourrai me prevenir parce que il y a des chance que sa me serve d'ici peut de temps

  8. #8
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 937
    Points : 59 417
    Points
    59 417
    Billets dans le blog
    2
    Par défaut
    Bonjour !
    Citation Envoyé par Mat 74
    mais il y a un problème ... je ne connais pas la taille de la fenêtre
    Pour cela, tu peux utiliser GetWindowRect ou GetClientRect.
    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

  9. #9
    Nouveau membre du Club
    Inscrit en
    Février 2004
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 117
    Points : 35
    Points
    35
    Par défaut
    merci c'est se qui me fallais

Discussions similaires

  1. [Débuter] Affichage dans une fenêtre
    Par morelino09 dans le forum Qt Creator
    Réponses: 4
    Dernier message: 08/04/2013, 23h17
  2. Activation ou non d'une fonction d'affichage dans une fenêtre d'une image
    Par Aquarium33 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 30/03/2012, 11h30
  3. Affichage dans une fenètre dos
    Par pagoda dans le forum Général Java
    Réponses: 5
    Dernier message: 09/03/2009, 12h05
  4. Problème d'affichage dans une fenêtre hEdit
    Par piroman14 dans le forum Débuter
    Réponses: 3
    Dernier message: 04/07/2008, 15h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo