begin process at 2012 05 29 21:18:05
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

Autre

 > 

Probleme listbox LBS_OWNERDRAWFIXED


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

Probleme listbox LBS_OWNERDRAWFIXED

mercredi 6 juin 2007 à 17:22:33 | Probleme listbox LBS_OWNERDRAWFIXED

fredsor

Membre Club
Bonjour,
Je galere depuis plusieurs jours pour essayer de mettre des couleurs de fond a certaines lignes de ma listbox...
J'ai trouvé quelques exemples, utilisant notamment LB_INSERTSTRING, LB_SETITEMDATA et WM_DRAWITEM pour le faire
Mais d'apres les codes, ma listbox doit aovir l'attribut LBS_OWNERDRAWFIXED pour que WS_DRAWITEM soit bien executé (sinon je crois qu'il ne va jamais dedans)
Cependant, LBS_OWNERDRAWFIXED n'est pas reconnu sous mon evc++!!!!
Quelqu'un a une idée pourquoi?
Je fais du C en Win32 pour ceux qui n'avait pas compris ^^
hTab[i] = CreateWindowEx(  WS_EX_CLIENTEDGE,  TEXT("LISTBOX"),   NULL,
  WS_VISIBLE|WS_CHILD|LBS_NOTIFY|WS_VSCROLL|WS_TABSTOP|WS_BORDER|LBS_OWNERDRAWFIXED |LBS_USETABSTOPS,...);

error C2065: 'LBS_OWNERDRAWFIXED' : undeclared identifier

Help il faut que j'arrive a mettre ces foutues couleurs!
mercredi 6 juin 2007 à 23:59:39 | Re : Probleme listbox LBS_OWNERDRAWFIXED

racpp

Administrateur CodeS-SourceS
Salut,
Cette constante est définie dans winuser.h. Tu peux essayer de l'ajouter en haut de ton code avec un #define:
#define LBS_OWNERDRAWFIXED    0x0010
J'espère que ça marchera pour toi.

jeudi 7 juin 2007 à 09:30:06 | Re : Probleme listbox LBS_OWNERDRAWFIXED

fredsor

Membre Club

J'ai bien rajouté ce que tu m'a di, mais toujours rien a l'horizon!! Help!!
Voici les bouts de code concerné :
#define LBS_OWNERDRAWFIXED    0x0010  // en haut de mon code comme tu me l'a di
--------------
typedef struct _LBITEM                                         // structure définissant l'item
{
   LPTSTR text;         // texte de l'item
   COLORREF textcolor;  // couleur du texte
   HBRUSH bgbrush;      // brush pour dessiner le fond de l'item
} LBITEM, *PLBITEM;

----------------
  case WM_DRAWITEM:                                          //Dessin des lignes de la listbox  { 
   LPDRAWITEMSTRUCT info = (LPDRAWITEMSTRUCT) lParam;
   PLBITEM item = (PLBITEM) info->itemData;

   SetTextColor(info->hDC, item->textcolor);
   SetBkMode(info->hDC, TRANSPARENT);
 
   FillRect(info->hDC, &info->rcItem, item->bgbrush);
   DrawText(info->hDC, item->text, -1, &info->rcItem, DT_SINGLELINE | DT_VCENTER | DT_CENTER);
  }
-------------------------
Et a la creation de mon tableau :
hTab[i] = CreateWindowEx(WS_EX_CLIENTEDGE, TEXT("LISTBOX"),  NULL, WS_VISIBLE|WS_CHILD|
LBS_NOTIFY|WS_VSCROLL||WS_BORDER|LBS_OWNERDRAWFIXED |LBS_USETABSTOPS,
"Remplissage" de mon tableau :
LBITEM lbitem = {maLigne , rouge , fondBleu } ;
 int test=SendMessage(hTab[i], LB_INSERTSTRING, (WPARAM)0, (LPARAM)maLigne);     
 SendMessage(hTab[i], LB_SETITEMDATA, (WPARAM)test, (LPARAM)&lbitem);
J'insere sinon avec un LB_ADDSTRING qui affiche bien le texte aussi :
//SendDlgItemMessage(hWnd, i, LB_ADDSTRING, 0, (LPARAM)maLigne); 

Voila, je dois faire quelque chose, ou ne pas faire quelque chose, qui fait que WM_DRAWITEM ne semble jamais appelé??? Car les item sont bien "rempli" avec le texte, mais pas de couleur!!
ou alors c'est que le
#define LBS_OWNERDRAWFIXED m'enleve juste l'erreur mais ne fonctionne pas??
SNIF SNIF!!!!


jeudi 7 juin 2007 à 09:41:49 | Re : Probleme listbox LBS_OWNERDRAWFIXED

fredsor

Membre Club
A signaler que j'ai egalement essayé
#define LBS_OWNERDRAWFIXED    0x0010L

Sans succes...
jeudi 7 juin 2007 à 17:52:37 | Re : Probleme listbox LBS_OWNERDRAWFIXED

racpp

Administrateur CodeS-SourceS
Il est possible que ton Windows CE ne prend en charge que les listbox standard. A vérifier.

vendredi 8 juin 2007 à 08:47:36 | Re : Probleme listbox LBS_OWNERDRAWFIXED

fredsor

Membre Club
Oh moi qui me faisait une joie de voir une reponse, ca commence a me faire peur tout ca!!
Comment je peux verifier ca?
Et si ce que tu suppose se vérifie, comment je peux remedier a cela pour tout de meme mettre des couleurs a mes items de listbox? C'est le dernier truc qui me reste a géré sur ces listbox : mes focus sur les lignes voulues fonctionnent, et j'ai également créer des "colonnes" à l'aide de LBS_USETABSTOPS...

vendredi 8 juin 2007 à 09:01:09 | Re : Probleme listbox LBS_OWNERDRAWFIXED

fredsor

Membre Club
"Windows CE .NET provides the ability to change the user-interface skin of the operating system. This is similar to the concept of owner-draw controls, by which a Win32 program can change the appearance of various controls like push buttons, status bars, header controls, ListView controls, and the Tab control. (The desktop supports other owner-drawn items, like the Listbox, that are not supported in Windows CE.) "

STP dis moi que j'ai une solution de rechange! help
samedi 9 juin 2007 à 10:20:34 | Re : Probleme listbox LBS_OWNERDRAWFIXED

omnia

Et en utilisant un item listview sa doit être possible !

tu as déja essayé ?

+
samedi 9 juin 2007 à 11:45:51 | Re : Probleme listbox LBS_OWNERDRAWFIXED

fredsor

Membre Club
Tu veux dire que j'utiliserais une listbox mais que j'insererai des item listview??
Je vois pa trop comment c'est possible
Sinon si tu sous entend utiliser directement une listview au lieu d'une listbox : windows Ce ne prend pa les listview

As tu un exemple d'insertion d'item listview dans une listbox?
samedi 9 juin 2007 à 17:07:48 | Re : Probleme listbox LBS_OWNERDRAWFIXED

omnia

Non pas du tout utiliser une litview plutot que listbox ^^

1 2 3 4

Cette discussion est classée dans : probleme, listbox, ws, lbs, ownerdrawfixed


Répondre à ce message

Sujets en rapport avec ce message

Probleme Listbox ! [ par barraq ] Bonjour, Voila je developpe un petit programme et j'ai un bug que j'arrive pas a corriger !!!!! Bon voila le bug, j'ai créé un list box multi selecti Scroll listbox [ par c2millet ] BonjourVoilà mon pb: G créé dans une fenetre une listbox et g bien le scroll vertical, mais je n'ai pas le scroll horizontal qd mon texte et + grand q probleme de scannage d une listbox [ par akjoe ] S il vous plait aider moi ,Veuillez me dire comment je fais pour lire par une boucle For chaque ligne de la liste box et ainsi mettre la valeur du tex Item de listbox selectionné ? [ par fuckit756 ] Bonjour à tous,J'ai crée une ListBox sous dev-c++ et j'essaie de savoir si certains éléments de la listbox sont sélectionnés afin de d'effectuer diffé Probleme WS_TABSTOP [ par fredsor ] Bonjour,Je mets bien WS_TABSTOP pour tous les composants créé (CreateWIndowEx... )et j'ai rajouté a la fin, while (GetMessage(&msg, NULL, 0, 0) > 0)   slot entre image et listbox [ par bhytr ] salut, j'ai une interface graphique avec un bouton Parcourir à coté et quand je clic ça ouvre une boite de dialogue et je puisse ouvrir le dossier qui [C++] Probleme Visualisation d'images en fonction d'objets sélectionné dans ListBox [ par stef du 62 ] Bonjour a tous.Je développe un programme sous C++ Builder permettant la reservation d'étoiles a visualisé par la suite sur le telescope.Tout d'abord, Focus et couleur... en C pour PocketPC [ par fredsor ] Bonjour a vousDans mon projet, je dois créer différents composant visuel pour Pocket PC : libellé, editbox,bouton et listbox (la aussi pa le choix)- C fuite memoire de thread en mode clr [ par albanovisch ] Bonjour à tous, j ai un probleme d allocation memoire au niveau de la creation de thread en mode clr dans visual studio.Voila mon probleme est que lor probleme d'execution d'un jeu de loie en c [ par fati03 ]


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
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 : 1,076 sec (3)

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