Questions diverses API

youpiyoyo Messages postés 539 Date d'inscription vendredi 6 juin 2003 Statut Membre Dernière intervention 14 juillet 2010 - 16 juil. 2003 à 21:42
cs_Xentor609 Messages postés 258 Date d'inscription jeudi 20 mars 2003 Statut Membre Dernière intervention 16 août 2004 - 17 juil. 2003 à 09:47
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

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
16 juil. 2003 à 21:56
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...
0
youpiyoyo Messages postés 539 Date d'inscription vendredi 6 juin 2003 Statut Membre Dernière intervention 14 juillet 2010
16 juil. 2003 à 22:02
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
0
youpiyoyo Messages postés 539 Date d'inscription vendredi 6 juin 2003 Statut Membre Dernière intervention 14 juillet 2010
16 juil. 2003 à 22:31
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 :)
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
16 juil. 2003 à 22:32
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...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Xentor609 Messages postés 258 Date d'inscription jeudi 20 mars 2003 Statut Membre Dernière intervention 16 août 2004
17 juil. 2003 à 09:47
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
0
Rejoignez-nous