Accueil > Forum > > > > Pb de changement de curseur (SetClassLong)
Pb de changement de curseur (SetClassLong)
jeudi 3 juin 2004 à 13:18:55 |
Pb de changement de curseur (SetClassLong)

AlexMAN
|
Voila, J'essaye de changer le curseur lorsk l'utilisateur survole un controle static, j'utilise (a linstar de BruNews) la fonction SetClassLong mais celle ci ne fonctionne pas, enfin elle renvoie une valeur non nulle, j'ai testé tous les param, tous sont initialisés, donc tt a l'air de fonctionner mais ca marche po ! je poste la fonction DlgProc : LRESULT CALLBACK DlgProc(HWND hwndDlg, UINT uMessage, WPARAM wParam, LPARAM lParam) { char sMsg[40]; switch (uMessage) { case WM_INITDIALOG: SetDlgItemText(hwndDlg, IDC_ABOUT, "Developpé par Alhexman\r\nAlhexman@tiscali.fr"); if (!SetClassLong(GetDlgItem(hwndDlg, IDC_ABOUT), GCL_HCURSOR, (long)LoadCursor(hInstDlg, (LPCTSTR)IDCUR_ABOUT))) { MessageBox(NULL, "Erreur", "ERREUR", MB_OK); return FALSE; } return FALSE; case WM_COMMAND: switch(wParam) { case IDC_CLOSE: EndDialog(hwndDlg, 0); return TRUE; case IDC_REDUCE: SendMessage(hwndDlg, WM_SYSCOMMAND, SC_MINIMIZE, 0); return TRUE; case IDC_CHECK: SetDlgItemText(hwndDlg, IDC_MAIL, "Vérification des mails...\r\n"); iInitWinsock(); iCheckMail(); if (iNbre_Msg > 1) { sprintf(sMsg, "Vous avez %d nouveaux messages.\r\n", iNbre_Msg); } else if (iNbre_Msg == 1) { strcpy(sMsg, "Vous avez 1 nouveau message.\r\n"); } else if (!iNbre_Msg) { strcpy(sMsg, "Vous n'avez pas de nouveaux messages.\r\n"); } SetDlgItemText(hwndDlg, IDC_MAIL, sMsg); return TRUE; } default: return DefWindowProc(hwndDlg, uMessage, wParam, lParam); } } Si kelkun pouvait m'aider, merci d'avance ! ++ Alhexman
|
|
jeudi 3 juin 2004 à 17:15:02 |
Re : Pb de changement de curseur (SetClassLong)

BruNews
|
tes 'return' sont a l'envers: WM_INITDIALOG doit retourner 1 pour bon positionnement du focus et quasi tous les autres ZERO.
hInstDlg ??? doit etre egal au 1er param de WinMain (HINSTANCE).
ciao... BruNews, Admin CS, MVP Visual C++
|
|
jeudi 3 juin 2004 à 19:21:42 |
Re : Pb de changement de curseur (SetClassLong)

AlexMAN
|
Ok j'ai trouvé en fait, il fallait specifier la propriété notify du static sur true...(pkoi ?) Mais par contre, c vrai ke j'ai un ptit pb sur les valeurs kil faut retourner, si tu pouvais me donner un lien ou simplement m'expliker kel valeur mettre, jte remercie... Et sinon, j'ai passé tout l'aprem avec une personne sur le chan #programmation a chercher pkoi, lorsk je crée la boite de dialogue IDD_DIALOG2, celle ci ne fonctionne pas, elle reste "glacée", si tu as deja rencontré ce type de pb, joré aimé avoir une explication paske jsuis o bord de la crise... Jte remercie BruNews pour toute l'aide ke tu me fournis...
++
Alhexman
|
|
jeudi 3 juin 2004 à 19:31:29 |
Re : Pb de changement de curseur (SetClassLong)

BruNews
|
"glacée", KessAdir ???
faudrait voir le prob depuis son appel jusqu'a sa dlgProc, tant de possibilites. Les valeurs a retourner sont toujours indiquees dans MSDN et Petzold l'explique clairement. Quand tu as un doute, suffit de regarder une source pour avoir bien souvent la solution.
ciao... BruNews, Admin CS, MVP Visual C++
|
|
jeudi 3 juin 2004 à 19:45:24 |
Re : Pb de changement de curseur (SetClassLong)

AlexMAN
|
jte poste la dlgproc et l'appel (la creation de la dialog box) :
LRESULT CALLBACK OptionDlgProc(HWND hwndDlgOpt, UINT uMessage, WPARAM wParam, LPARAM lParam) { char sBuffer[40];
switch (uMessage) { case WM_COMMAND: switch (wParam) { case IDOK: //Recupere le serveur pop GetDlgItemText(hwndDlgOpt, IDE_POP, sPop, sizeof sPop); //Recupere le nom d'utilisateur GetDlgItemText(hwndDlgOpt, IDE_USER, sBuffer, sizeof sBuffer); sprintf(sCmd[0], "USER %s\r\n", sBuffer); //Recupere le mot de passe GetDlgItemText(hwndDlgOpt, IDE_PASS, sBuffer, sizeof sBuffer); sprintf(sCmd[1], "PASS %s\r\n", sBuffer); EndDialog(hwndDlgOpt, 0); break; case IDCANCEL: EndDialog(hwndDlgOpt, wParam); break; default: return FALSE; } default: return FALSE; }
return TRUE; }
et la creation ki se fait a partir de la dlgproc d'une autre dialog box :
case IDC_OPTION: DialogBox(hInstDlg, (LPCTSTR)IDD_DIALOG2, hwndDlg, (DLGPROC)OptionDlgProc); break;
Voila, j'ai bien regardé, mais j'espere ke tu trouvera kelk chose !
++
Alhexman
|
|
jeudi 3 juin 2004 à 20:06:29 |
Re : Pb de changement de curseur (SetClassLong)

BruNews
|
return TRUE; pour WM_INITDIALOG !!! change deja cela.
ciao... BruNews, Admin CS, MVP Visual C++
|
|
vendredi 4 juin 2004 à 08:39:27 |
Re : Pb de changement de curseur (SetClassLong)

AlexMAN
|
Ca ne change rien, j'ai testé l'appel d'une messagebox, mais la aussi la msgbox reste glacé, sans pomper les ressources, donc le prog ne plante pas, mais il est impossible de cliker sur un bouton ni mm sur la 'croix'...
|
|
vendredi 4 juin 2004 à 20:52:31 |
Re : Pb de changement de curseur (SetClassLong)

AlexMAN
|
J'ai trouvé mon "erreur", dans le
switch(Message) { ... default: return DefWindowProc(hwnd, message, wparam, lparam);
j'ai remplacé par return FALSE; et tt marche nickel...
Mais bon, c bizar car dans tt les tuts trouvé, jvoyais ca !
++
ALhexman
|
|
vendredi 4 juin 2004 à 20:57:35 |
Re : Pb de changement de curseur (SetClassLong)

BruNews
|
DefWindowProc sur une dialogbox ?!?! risquait effectivement pas d'aller.
ciao... BruNews, Admin CS, MVP Visual C++
|
|
Cette discussion est classée dans : case, return, idc, hwnddlg, smsg
Répondre à ce message
Sujets en rapport avec ce message
ChooseColor bloqué ? [ par NeKoF ]
Salut tous le monde !J'ai un gros soucis ma boite de dialogJe vous explique :Dans ma boite de configuration, je souhaite sélectionner une couleur en c
Ecrir du texte dans un Edit [ par XKaliBur ]
Voila avec ce code ça ecrit le texte dans EDIT1 mais le problème c'est que ça efface se qu'il y avait avant or je voudrais faire en sorte qu'il écirve
Où est ce #!?\ de bug ? (projet MFC) [ par MasterShadows ]
Salut à tous,j'vais exposer brièvement le problème, dans le projet que j'effectue (il est écrit en MFC (pas trop le choix d'ailleurs)) il faut que je
recherche un texte spécifié....!!!! [ par mejdimm ]
Salut tout le monde.!!!!!!je vous propose ici un code source : "recherche un texte spécifié" dans tous les fichiers texte de votre disque dur, l'utili
C++ recherche un texte spécifié....!!!! [ par mejdimm ]
Salut tout le monde.!!!!!! je vous propose ici un code source : "recherche un texte spécifié" dans tous les fichiers texte de votre disque dur, l'util
Prise en charge des tabulations [ par SAKingdom ]
Allo.Ceci est pour les membres club uniquement.Quand on clique sur la petite loupe à droite d'un fichier dans un zip, il ouvre une fenêtre individuell
Caractere speciaux [ par mewa ]
Voila g un petit probleme:Je dois creer un programme qui normalise en majuscule les caractere qui sont en miniuscule.Mai j ai un probleme avec les car
Evenement touche presse sur edit [ par NairodDorian ]
Bonjour,Je rencontre un petit blocage avec l'API Win32.BOOL CALLBACK AppDlg(HWND hdlg, UINT msg, WPARAM wparam, LPARAM lparam){switch (
[vc++]Plusieurs boite de dialogues [ par shadow1779 ]
Bonjour,mon probleme est avec visual c++ en C, si je fais plusieurs dialogbox avec l'editeur de ressource, le probleme est que quand j'en appel plusie
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Forum
RGB2GRAYRGB2GRAY par musa18
Cliquez pour lire la suite par musa18
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|