MFCでリンク付きテキストの作り方

メンバクラスでCFont用意

private:
        CFont m_font;

初期化でスタティックテキストにCFont設定

// スタティックテキストに下線を引く
BOOL CXXXDlg::OnInitDialog() 
{
    CDialog::OnInitDialog();

    // フォントの作成
    m_font.CreateFont(12, 0, 0, 0, FW_DONTCARE, FALSE, TRUE, FALSE,
                      SHIFTJIS_CHARSET, OUT_DEFAULT_PRECIS,
                      CLIP_DEFAULT_PRECIS, DRAFT_QUALITY,
                      DEFAULT_PITCH, _T("MS Pゴシック"));

    // スタティックテキストに設定
    GetDlgItem(IDS_URL)->SetFont(&m_font); 
    return TRUE;
}


ウイザードでWM_CTLCOLORイベントの関数追加。ここで色変える

// 色の変更
HBRUSH CXXXDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
    HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
    
    // コントロールを調べテキストを青に変更
    if(pWnd->m_hWnd == GetDlgItem(IDS_URL)->m_hWnd)
        pDC->SetTextColor(RGB(0, 0, 255));

    return hbr;
}

ウイザードでWM_SETCURSORイベントの関数追加。カーソルが来てたら、指カーソルに変更

// カーソルの変更
BOOL CXXXDlg::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message) 
{
    if(pWnd == GetDlgItem(IDS_URL))
    {
        SetCursor(LoadCursor(NULL, IDC_HAND));
        return TRUE;
    }
    return CDialog::OnSetCursor(pWnd, nHitTest, message);
}

vbsでレジストリの削除

Option Explicit
On Error Resume Next

Dim objWshShell     ' WshShell オブジェクト

Set objWshShell = WScript.CreateObject("WScript.Shell")
If Err.Number = 0 Then
    ' 値を削除する場合は、最後に \ を付けない
    objWshShell.RegDelete("HKCU\Hoge\Test1")
    ' キー全体を削除するには最後に \ を付ける
    objWshShell.RegDelete("HKCU\Hoge\")
    WScript.Echo "レジストリを削除しました。"
Else
    WScript.Echo "エラー: " & Err.Description
End If

Set objWshShell = Nothing