begin process at 2012 05 29 04:46:00
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

Autre

 > 

Focus et couleur... en C pour PocketPC


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

Focus et couleur... en C pour PocketPC

lundi 28 mai 2007 à 08:47:48 | Focus et couleur... en C pour PocketPC

fredsor

Membre Club
Bonjour a vous
Dans mon projet, je dois créer différents composant visuel pour Pocket PC : libellé, editbox,bouton et listbox (la aussi pa le choix)
- Comment peut-on donner le focus a un editbox par exemple (j'entends par là curseur dessus bien sur ^^)? De plus, j'ai insérer par exemple comme ceci la fonction TABSTOP, mais celle ci ne fonctionne pas lorsque je clique sur un editbox et que je veux passer au composant suivant : 
hBtn = CreateWindowEx(0,TEXT("EDIT"),...,WS_VISIBLE | WS_BORDER | WS_CHILD | WS_TABSTOP,...);

- J'aimerais pouvoir mettre une couleur de fond aux editbox, ou a certaines lignes de listbox? Comment faire? En C cela parait bien compliqué?

- Enfin, le fait d'utiliser des listbox miterdit-il d'avoir un entete pour la liste?? ( en effet pour afficher sous forme de tableaux dans ma listbox, je marrange pour aligner les différentes valeurs, mais celle-ci n'ont pas d'entete pour l'instant... :S )
 
Les recherches que j'ai faites n'ont pas abouties, les résultats m'étant pour la plupart donnés en C++...(SetFocus(),...)
Je rappelle que mon projet est en C, ( et sans MFC comme vous l'avez peut etre constaté)...
Merci a vous si vous avez des idées, je bloque vraiment... Une reponse meme pour une seule question me débloquera toujours un peu ;)
lundi 28 mai 2007 à 15:58:39 | Re : Focus et couleur... en C pour PocketPC

racpp

Administrateur CodeS-SourceS
Salut,
Je n'ai jamais codé pour Pocket PC mais, malgré ses spécificités, je pense qu'il dispose des mêmes fonctionnalités graphiques standard de Windows.
- Pour donner le focus à controle,on utilise SetFocus(). C'est une API utilisable avec n'importe quel langage ( C   C++ ou autres).
- Avec le style WS_TABSTOP on peut passer d'un controle à l'autre avec la touche de tabulation et ce quel que soit le type de controle. Il suffit qu'il ait le style WS_TABSTOP.
- Pour changer la couleur de fond d'un Edit, on traite le message WM_CTLCOLOREDIT et retourner un HBRUSH de la couleur voulue. Voici un exemple:
http://www.cppfrance.com/code.aspx?ID=27889
Tout cela est faisable en C bien sûr.
- Pour la question sur les en-têtes des listbox, j'ai pas compris ce que tu veux faire exactement.

mardi 29 mai 2007 à 08:34:41 | Re : Focus et couleur... en C pour PocketPC

fredsor

Membre Club
Merci beaucoup je regarde ca dans la matinée.
Pour le SetFocus, alors je dois mal l'utiliser ( je fais un identifiantEditBox.SetFocus()...)
 et j'ai bien mis le WS_TABSTOP  mais je vais vérifer ça.

En fait pour les entete de listbox : on ne peut pas mettre plusieurs colonnes dans une ListBox, genre tableau.
Donc pour cela, on fait un systeme de tabulations entre chaque parametre affiché pour les metre sous forme de colonne... Donc j'aurais aimé savoir si j pouvais faire de meme pour mettre des entete a ma ListBox,  comme on le ferais pour un CListCtrl en C++ par exemple...

Merci encore pour ta réponse, et je reviens en cas de souci ;-)
mardi 29 mai 2007 à 22:54:24 | Re : Focus et couleur... en C pour PocketPC

racpp

Administrateur CodeS-SourceS
On passe le HWND du controle comme paramètre à la fonctions SetFocus():
SetFocus(hwndcontrole);
Pour créer une Lisbox multicolonne en lui appliquant le style LBS_MULTICOLUMN. Je ne pense pas qu'il est possible de lui mettre un en-tête en interne mais tu peux ajouter des controles juste en dessus jouant le rôle d'en-tête. Il est donc préférable d'utiliser une ListView qui est prévue pour ça.

mercredi 30 mai 2007 à 08:37:32 | Re : Focus et couleur... en C pour PocketPC

fredsor

Membre Club
Salut,
Pour le SetFocus ca marche pour mes EditBox, pas pour mes boutons, j'ai peut etre une subtilité  trouver...
Quant au WS_TABSTOP, je l'ai mis sur tous les composants, et si je clique sur un Edit par exemple et que je fais Tab, rien de réagit?!
QUant à la listbox mutlicolonne, ta réponse LBS_MULTICOLUMN pas exacte ;-).
En fait LBS_MUTLICOLUMN permet seulement de mettre une meme colonne sur deux si celle ci est trop longue pour ta table par exemple. Mais je vais regarder de plus pret pour simuler des entete comme tu me le suggere ( peut etre des boutons en mode disable en face de mes colonnes, a voir...)

Si une idée te vient pour le WS_TABSTOP et mes focus de bouton, je suis tout ouïe ;-)
mercredi 30 mai 2007 à 09:12:41 | Re : Focus et couleur... en C pour PocketPC

fredsor

Membre Club

Sur un autre forum en janvier tu avais proposé pour le WS_TABSTOP :

     MSG msg;
    while (GetMessage(&msg, 0, 0, 0) )
    {
        if (!IsDialogMessage(hwnd, &msg) )
        {
            TranslateMessage(&msg);
             DispatchMessage(&msg);
        }
    }

Ca ne fonctionne pas pour moi : hwnd est bien ma fenetre principale, et jai mi WS_TABSTOP sur tout mes controle créé avec CReateWindowEx...

jeudi 31 mai 2007 à 00:27:30 | Re : Focus et couleur... en C pour PocketPC

racpp

Administrateur CodeS-SourceS
Ma réponse sur LBS_MULTICOLUMN est exacte mais apparemment elle ne corerspond pas à ce que tu veux faire. Je pense que dans ton cas une ListView est indispensable.
Avec la boucle des messages que tu as mentionnée, normalement tout devrait fonctionner si ta fenêtre est une vraie fenêtre mère contenant des controles ayant le style WS_TABSTOP.
Je crois plûtot que tu as une boite de dialogue. J'attends ta confirmation pour te donner la solution.



Cette discussion est classée dans : couleur, listbox, focus, ws, editbox


Répondre à ce message

Sujets en rapport avec ce message

SetTextColor win32 [ par Mike ] Salut je voudrais pouvoir changer la couleur du texte d'une editBox en win32. et eventuellement la couleur de fond de l'editBox osi. Si quelqu'un pouv Focus EditBox [ par crocejf2000 ] Dans une boite de dialogue, j'ai une EditBox qui doit avoir le focus a l'ouverture de celle-ci.J'ai bien essayé un peut toutes les combinaisons mais r couleur de fond d'une editbox [ par melkiorlenecrarque ] salut kan je coche la case read-only d'une edit box, L devi1 griée!pe ton chanG la couleur de fon d'une edit box?G essayé SetColor() mé lé parametre m redimensionner ListBox/ComboBox/EditBox... [ par glipper ] Bonjour,Je suppose que ce que je vais demander doit deja se trouver quelque part sur cppfrance.com, mais je n'ai pas reussi a trouver.Comment modifier editbox et couleur [ par Anacr0x ] Salut !J'ai deux ou trois ptite question a posé :a votre avis, est il possible d'avoir plusieur couleur de texte dans une editbox (ce qui m'étonneré) HELP avec classe static (SDK windows) [ par sprintjeffC ] salut,si je veux que le static présent dans ma fenêtre soit de la même couleur que cette dernière j'arrive pas a envoyer du texte dedans.J'ai tout ess Couleur Editbox [ par c2millet ] Je veux changer la couleur de fond de mon editbox, voila le code que g réalisé mais ça ne fonctionne pas.Si qqun c pkoimercivoid CColorEd::SetBkColor( couleur element selectioné ListBox [ par oliverman ] Salut tt le monde, Est ce qu'il y aurait quelqu'un qui saurait comment changer la couleur du texte et du fond de la ligne selectioné dans ma List Box. 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


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

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 : 0,640 sec (3)

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