Questions diverses API

Signaler
Messages postés
539
Date d'inscription
vendredi 6 juin 2003
Statut
Membre
Dernière intervention
14 juillet 2010
-
Messages postés
258
Date d'inscription
jeudi 20 mars 2003
Statut
Membre
Dernière intervention
16 août 2004
-
j'aurai quelques petites questions a vous posés a propos des lists controls et des tab control en API win32

je debute dans la prog api win32 et pour les list box

il me semble que pour recup les item de la list control c ca

int Index=SendDlgItemMessage(hwnd,IDC_LIST1,LVM_GETSELECTIONMARK,0,0);

le prob c que
je sais pas quand le mettre, le truc c que j'arrive po a intercepté le message c surement dans un

LRESULT CALLBACK DlgMainProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)

avec les switch et tout ca mais j'arrive pas a l'avoir enfin bref si vous pouvez m'orienté



ma deuxième question porte sur les tab control

je sais pas comment les initialisés leur donné un nom, etc...

et pareil le message pour changé de page,....

et enfin j'ai créé ma boite de dialogue avec

DialogBox(hInst, MAKEINTRESOURCE(IDD_MAIN), NULL, ( DLGPROC )DlgMainProc);

mais par défaut il me le met en haut a gauche de l'écran il y a po un moyen de donné les coordonnées x, y du coin en haut a gauche pour le mettre au centre de l'écran par exemple???



c tous merci encore de votre aide :)



youpi ++

5 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
24
DS_CENTER a ajouter aux styles de ta dialogbox pour la centrer.
Index=SendDlgItemMessage(...) t'arrives pas a l'intercepter normal puisque c'est ton prog qui envoie.
tab control: MSDN fournit exemples complets, je ne vais donc pas le recopier.
BruNews, ciao...
Messages postés
539
Date d'inscription
vendredi 6 juin 2003
Statut
Membre
Dernière intervention
14 juillet 2010
1
DS_CENTER je le met dans quel fonction je viens de matté MSDN j'ai po trouvé!! :blush)
et pour ta reponse sur int Index=SendDlgItemMessage(hwnd,IDC_LIST1,LVM_GETSELECTIONMARK,0,0);

j'ai po tous suivi comment je fais pour recup l'info quand je click sur une ico de la list controle
Messages postés
539
Date d'inscription
vendredi 6 juin 2003
Statut
Membre
Dernière intervention
14 juillet 2010
1
pour centré la boite de dlg j'ai reussi mais avec ca

RECT rc;
GetWindowRect(hwnd, &rc);
SetWindowPos(hwnd, NULL,((GetSystemMetrics(SM_CXSCREEN) - (rc.right - rc.left)) / 2),((GetSystemMetrics(SM_CYSCREEN) - (rc.bottom - rc.top)) / 2),
0, 0, SWP_NOSIZE | SWP_NOACTIVATE);

il faudra que tu m'explique kan meme le DS_CENTER
comme style ca m'interesse car cette methode est tiré par les cheveux :)
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
24
DS_CENTER va dans le fichier rc, tu l'edites a la main si ton editeur de ressources n'a pas de coche "centrer" pour la dialogbox. Si t'es pas sur, telecharge une de mes sources et regarde le rc.
Que dit MSDN des notifications des common control ?
Se recup dans WM_NOTIFY !!!
case WM_NOTIFY:
switch(((LPNMHDR) lParam)->code)
BruNews, ciao...
Messages postés
258
Date d'inscription
jeudi 20 mars 2003
Statut
Membre
Dernière intervention
16 août 2004

Pour creer un tab control, avec le texte que tu veux, tout simplement:
[Code]
TCITEM TcItem; //TCITEM pour les tabControl
TcItem.mask=LVIF_TEXT | LVIF_PARAM; TcItem.cchTextMax=256;
TcItem.pszText="Tab Control 1";
SendDlgItemMessage(hDlg,IDC_TAB1,TCM_INSERTITEM,nItem,(LPARAM)&TcItem);
}
[\Code]
Voila, juste pour les creer les plus simplement, apres faut voir ce que tu veux en faire.
Bye,Xentor609