cricri_ | Tiens, suis pas sûr que c'est vraiment ce que tu veux mais bon ...
ça affiche un lien et l'appele quand tu clique :
Code :
- /* ------------------------------------------------------------------------- */
- bool CKCPlayer::DrawHTTPLink( HWND hwnd, LPARAM lParam, UINT c)
- /* ------------------------------------------------------------------------- */
- {
- DRAWITEMSTRUCT *di = (DRAWITEMSTRUCT *)lParam;
- if ( di->CtlID == c) {
- HFONT hFont, hOldFont;
- LOGFONT lFont;
- COLORREF oldTextColor;
- int length;
- char url[200] = "";
- length = GetDlgItemText(hwnd, di->CtlID, url, sizeof(url));
- if ( di->itemAction == ODA_SELECT && (di->itemState & ODS_SELECTED))
- oldTextColor = SetTextColor(di->hDC,RGB(255,0,0));
- else
- oldTextColor = SetTextColor(di->hDC,RGB(0,0,255));
- GetObject( GetWindowFont(hwnd), sizeof(lFont), &lFont);
- lFont.lfUnderline = TRUE;
- hFont = CreateFontIndirect(&lFont);
- hOldFont = SelectFont(di->hDC, hFont);
- DrawText( di->hDC, url, length, &di->rcItem,
- DT_CENTER|DT_VCENTER|DT_SINGLELINE|DT_NOPREFIX);
- SelectFont( di->hDC, hOldFont);
- DeleteObject(hFont);
- return true;
- }
- return false;
- }
|
et la boite :
Code :
- /* ------------------------------------------------------------------------- */
- DLGPROC CKCPlayer::AboutProc( HWND hDlg, UINT uMsg, UINT wParam, LONG lParam)
- /* ------------------------------------------------------------------------- */
- {
- char url[128];
- switch (uMsg) {
- case WM_INITDIALOG :
- break;
- case WM_DRAWITEM :
- DrawHTTPLink( hDlg, lParam, IDC_LINK_GPL);
- DrawHTTPLink( hDlg, lParam, IDC_LINK_GAGAI);
- break;
- case WM_COMMAND :
- switch (LOWORD(wParam)) {
- case IDC_LINK_GPL :
- case IDC_LINK_GAGAI :
- if ( GetDlgItemText( hDlg, wParam, url, sizeof(url)))
- HtmlHelp( NULL, url, 0x0000, 0);
- break;
- case IDOK:
- case IDCANCEL:
- EndDialog(hDlg,TRUE);
- break;
- }
- break;
- }
- return(FALSE);
- UNREFERENCED_PARAMETER( lParam);
- }
|
Message édité par cricri_ le 31-10-2003 à 15:01:57
|