我正在使用以下代码:
#include <WinAPI.au3>
#include <WindowsConstants.au3>
Global Const $WC_LINK = "SysLink"
Global Const $WC_LINKA = $WC_LINK
Global Const $WC_LINKW = $WC_LINK
$g_hLink = _WinAPI_CreateWindowEx(0, $WC_LINK, _
'Test, [url="http://www.microsoft.com"]click here[/url], [url="http://www.microsoft.com"]here[/url] or [url=""]here[/url]', _
BitOR($WS_VISIBLE, $WS_CHILD, $WS_TABSTOP), _
10, 10, 300, 60, $Form2 _
)
GUIRegisterMsg($WM_NOTIFY, "MY_LINK_NOTIFY")
Func MY_LINK_NOTIFY($hWnd, $Msg, $wParam, $lParam)
Local Const $tagNMLINK = $tagNMHDR & ";" & "UINT mask; int iLink; UINT state; UINT stateMask; WCHAR szID[48]; WCHAR szUrl[2083];"
Local $NMHDR = DllStructCreate($tagNMHDR, $lParam)
Local $hwndFrom = DllStructGetData($NMHDR, "hwndFrom");
Switch $hwndFrom
Case $g_hLink
Switch DllStructGetData($NMHDR, "code")
Case $NM_CLICK
ContinueCase
Case $NM_RETURN
$NMHDR = DllStructCreate($tagNMLINK, $lParam)
Local $iLink = DllStructGetData($NMHDR, "iLink")
Local $szURL = DllStructGetData($NMHDR, "szURL")
Local $szID = DllStructGetData($NMHDR, "szID")
If $szURL <> "" Then
ShellExecute($szURL, "", "", "open", @SW_SHOW);
EndIf
EndSwitch
EndSwitch
EndFunc
使我的syslinks可点击:
问题在于我希望它只显示文本...并将此白色/灰色背景设置为透明。
我该怎么做?
答案 0 :(得分:0)
似乎这是不可能的。
有LWS_TRANSPARENT
样式,但它不会使SysLink透明,只是将其背景颜色设置为窗口背景颜色。
此外,SysLink支持WM_CTLCOLORSTATIC
消息,但您无法使背景颜色透明。