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 ;
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;
Le problème c'est qu'après un clic sur le lien je ne récupère que le "h" de l'url !
Quand je code avec "CreateWindowEx" ça ne fonctionne pas (?)

d'après MSDN
Version 6 of ComCtl32.dll supports Unicode only. Therefore, you cannot create ANSI versions of SysLink controls—only Unicode.
Y-aurait-il un facon de faire sans UNICODE ?


Merci d'avance