The best way to make a selection without any external libraries, still looks the same as any control will do it, even makes the mouse cursor point to a finger.
#define PROP_ORIGINAL_FONT TEXT("_Hyperlink_Original_Font_") #define PROP_ORIGINAL_PROC TEXT("_Hyperlink_Original_Proc_") #define PROP_STATIC_HYPERLINK TEXT("_Hyperlink_From_Static_") #define PROP_UNDERLINE_FONT TEXT("_Hyperlink_Underline_Font_") LRESULT CALLBACK _HyperlinkParentProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam); LRESULT CALLBACK _HyperlinkProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam); static void CreateHyperLink(HWND hwndControl); static void CreateHyperLink(HWND hwndControl) {
Here's how to use it:
CreateHyperLink(GetDlgItem(Dialog_HWND_GOES_HERE, STATIC_TEXT_IDENIFIER_GOES_HERE));
If the static shortcut can be clicked in the main dialog subclass, do something like this.
if (HIWORD(wParam) == BN_CLICKED) { //Buttons, checkboxs, labels, static labels clicked switch (LOWORD(wParam)) { case STATIC_TEXT_IDENIFIER_GOES_HERE: ShellExecute(NULL, "open", "http://www.google.com", NULL, NULL, SW_SHOWNORMAL); break; } }
SSpoke
source share