begin process at 2010 03 18 00:59:51
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Système

 > 

Autre

 > 

Emmetre un NM_CUSTOMDRAW a un listView


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Emmetre un NM_CUSTOMDRAW a un listView

mercredi 25 février 2009 à 20:21:10 | Emmetre un NM_CUSTOMDRAW a un listView

pepsidrinker

bonjour a tous et merci pour votre temps, Jaimerai savoir comment on fait pour triggerer un NM_CUSTOMDRAW dans un listView. En fait, comment on fait pour que le listView envois par lui mm se message. Jespere avoir ete clair, sinon, laisse moi le savoir, il me fera plaisir de me clarifier. Merci bcp!

Pepsidrinker
mercredi 25 février 2009 à 23:26:39 | Re : Emmetre un NM_CUSTOMDRAW a un listView

uaip

Salut,
Si j'ai bien compris la msdn, cette notification est envoyée automatiquement à la fenêtre parent du contrôle. Il suffirait donc de l'intercepter via l'événement WM_NOTIFY.
Je ferais un truc du genre (en imaginant que la fenêtre n'est pas une "dialogbox") :

LRESULT CALLBACK MainWndProc(HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam) {
    switch (uMsg) {

        case WM_NOTIFY:{
            LPNMHDR pnmhdr=(LPNMHDR)lParam;
            if ((pnmhdr->code == NM_CUSTOMDRAW) && (pnmhdr->hwndFrom == hwnd_ListView)) {
                NMLVCUSTOMDRAWlp=(
NMLVCUSTOMDRAW)lParam;
                //Ton code ici
            }
            break;
        }
        default: return DefWindowProc(hwnd,uMsg,wParam,lParam);
    }
}


Je ne suis absolument pas sûr (surtout concernant la ligne en gras), mais essaye toujours.

Cordialement, uaip.
jeudi 26 février 2009 à 15:04:58 | Re : Emmetre un NM_CUSTOMDRAW a un listView

pepsidrinker

Salut et merci pour ta reponse! Malheureusement, je cherche un moyen de generer ce message, donc, un moyen que ce message se fasse emettre dans MainWndProc. Mon probleme est que mon background image dans mon listView ne se fait voir quèau 2ieme message NM_CUSTOMDRAW (pour je ne sais quel raison), donc, je doit clicker sur mon lsitView pour que le background apparaisse. Voila pourquoi jaimerai avoir un moyen de generer le MN_CUSTOMDRAW, car au moin, mon background image apparaiterai aussitot, sana que jai besion de clicker dessus.

Pepsidrinker
jeudi 26 février 2009 à 16:21:05 | Re : Emmetre un NM_CUSTOMDRAW a un listView

juju12

RedrawWindow() devrait marcher.
jeudi 26 février 2009 à 18:36:13 | Re : Emmetre un NM_CUSTOMDRAW a un listView

uaip

Ah d'accord, je n'avais pas bien compris
A l'inverse de RedrawWindow(); (qui est faite pour rafraichir une zone rectangulaire d'un handle), tu peux aussi essayer UpdateWindow(); (qui raffraichit toute la surface du handle).

Cordialement, uaip.
jeudi 26 février 2009 à 22:02:35 | Re : Emmetre un NM_CUSTOMDRAW a un listView

juju12

Par contre, avec UpdateWindow(), faut utiliser InvalidateRect() avant sinon il ne repeindra rien (la région marquée update sera vide); d'où l'intérêt d'utiliser RedrawWindow() qui possède un tas de flags pour faire un peu tout et n'importe quoi.


Cette discussion est classée dans : listview, nm, emmetre, customdraw


Répondre à ce message

Sujets en rapport avec ce message

compte de mots dans une chaine de caractere [ par zeo ] Salut, j'ai trouvé ce code source sur votre site je n'arrive pas a le compiler avec visual c++ 6.0#include #define DEDANS 1 #define DEHORS listview [ par danyce ] kelk'un saurait il se servir d un listview avec visual c++j aimerai connaitre les lignes de code pour le remplir, ca serai cool!merci d avance... Au secours ListView !!! :o((( [ par Frederyck ] FrederyckSalut,Alors en fait j'ai créer une appli en VC++ 6.0 avec MFC, avec ma vue basée sur une LIstView, et j'aimerai faire deux choses:tout d'abor TreeView-->NM_CLICK [ par Xentor609 ] Salut!Je crée un treeview qui ressemble à celui d'Explorer, en montrant l'arborescence du disque-dur.Voici le bout de code qui, je pense, pose un prob Click et ListView [ par glipper ] Bonjour,J'aimerais détecter le click sur un Item d'une List View.J'ai essayé ceci :if ((LOWORD(wParam) == IDC_LIST1) && (HIWORD(wParam) == LBN_SELCHAN recuperer texte d'une ListView [ par glipper ] Lol bonjour, (et vi encore moi, désolé :)Maintenant, j'essaie de récuperer le nom de l'item selectionné dans ma ListView. J'ai récuperé le numero de l Icones et ListView [ par glipper ] Bonjour,Je voudrais savoir s'il est possible d'attribuer des icones differentes aux differents Items d'une ListView ?Parceque la commande SendMessage( listview et TreeView :: bmp 256 coueleur [ par JackosKing ] Pourquoi il n'est pas possible d'afficher des bmp de plus de 256 couleur en tant qu'icone dans une treeview et listview? peut on contourner cette cont ListView et clavier ??????? [ par bebel6 ] tout d'abord bonjour à tous !Je gère une listview en api win32 avec les commoncontrol ( donc pas de mfc ), je récupèrele fait de clicker sur la liste Builder Comment enregistrer une listeView dans un fichier ? [ par domdom79 ] Bonjour, J'ai fais un programme en Builder qui utilise et manipule une listview, c'est génial tout ce qu'on peut faire avec ce composant, mais celle-c


Nos sponsors


Appels d'offres

Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,874 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales