by Tomorrow » 2005年12月14日(水) 18:18
↑のサイトのWM_NOTIFYメッセージハンドラの部分のみをAB風に書き直しただけのものですが...
このコードをMainWnd.sbpのMainWndProc関数内に書いてください。 [ここをクリックすると内容が表示されます] [ここをクリックすると非表示にします]
コード: 全て選択
Select Case dwMsg
Case WM_NOTIFY
Dim lpnmHdr As *NMHDR
If wParam=ID_RICH Then
lpnmHdr=lParam
Select Case lpnmHdr->code
Case EN_LINK
Dim pEnlink As *ENLINK
pEnlink=lParam
If pEnlink->msg=WM_LBUTTONDOWN Then
SendMessage(hEdit, EM_EXSETSEL, 0, VarPtr(pEnlink->chrg))
SendMessage(hEdit, EM_GETSELTEXT, 0, szURL)
ShellExecute(hEdit, "open", szURL, NULL, NULL, SW_SHOWNORMAL)
End If
End Select
End If
End Select
[quote]> [猫でもわかるプログラミング - 第149章 本文中からURLを検出する ]
> http://www.kumei.ne.jp/c_lang/sdk2/sdk_149.htm
>
> 参考にならなかったらすいません。
イベントマスクにENM_LINKを加えるのまで出来たんですが、
WM_NOTIFYメッセージの処理がよくわかりません・・・[/quote]
↑のサイトのWM_NOTIFYメッセージハンドラの部分のみをAB風に書き直しただけのものですが...
[hide=このコードをMainWnd.sbpのMainWndProc関数内に書いてください。]
[code]Select Case dwMsg
Case WM_NOTIFY
Dim lpnmHdr As *NMHDR
If wParam=ID_RICH Then
lpnmHdr=lParam
Select Case lpnmHdr->code
Case EN_LINK
Dim pEnlink As *ENLINK
pEnlink=lParam
If pEnlink->msg=WM_LBUTTONDOWN Then
SendMessage(hEdit, EM_EXSETSEL, 0, VarPtr(pEnlink->chrg))
SendMessage(hEdit, EM_GETSELTEXT, 0, szURL)
ShellExecute(hEdit, "open", szURL, NULL, NULL, SW_SHOWNORMAL)
End If
End Select
End If
End Select[/code][/hide]