Bonjour,
J'essaie de mettre en place un lien dans une boite de dialogue avec le code suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 iccex.dwSize = sizeof(INITCOMMONCONTROLSEX); iccex.dwICC = ICC_LINK_CLASS; InitCommonControlsEx(&iccex); hwndLink = CreateWindowExW(0, WC_LINK, L"<A HREF=\"http://www.google.fr\">Visitez le site de ...</a>", WS_VISIBLE | WS_CHILD | WS_TABSTOP, 120, 100, 150, 14, hDlg, NULL, hInst, NULL); return TRUE ;Le problème c'est qu'après un clic sur le lien je ne récupère que le "h" de l'url !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 case WM_NOTIFY: switch (((LPNMHDR)lParam)->code) { case NM_CLICK: case NM_RETURN: { PNMLINK pNMLink = (PNMLINK)lParam; LITEM item = pNMLink->item; MessageBox(hDlg, item.szUrl, "Test WC_LINK", MB_OK); if ((((LPNMHDR)lParam)->hwndFrom == hwndLink) && (item.iLink == 0)) { ShellExecute(NULL, "open", item.szUrl, NULL, NULL, SW_SHOW); } break; } } break;
Quand je code avec "CreateWindowEx" ça ne fonctionne pas (?)
d'après MSDN
Y-aurait-il un facon de faire sans UNICODE ?Version 6 of ComCtl32.dll supports Unicode only. Therefore, you cannot create ANSI versions of SysLink controls—only Unicode.
Merci d'avance
Partager