いくつかのカスタマイズ上の理由から、リストボックスとコンボボックスの編集コントロールをサブクラス化しようとしています。以下はコード作業です。Edit Control のサブクラス化は完璧に機能していますが、Listbox は MouseDown のメッセージを受け取りません。
void Subclass(HWND hComboBox)
{
    HWND hEdit=FindWindowEx(hComboBox, NULL, WC_EDIT, NULL);
    HWND hCombo=FindWindowEx(hComboBox, NULL, WC_LISTBOX, NULL);
    SetProp(hEdit, TEXT("Wprc"), (HANDLE)GetWindowLongPtr(hEdit, GWL_WNDPROC));
    SubclassWindow(hEdit, ComboBox_Proc);
    SetProp(hCombo, TEXT("Wprc1"), (HANDLE)GetWindowLongPtr(hCombo, GWL_WNDPROC));
    SubclassWindow(hCombo, ComboBox_Proc1);
}
static LRESULT CALLBACK ComboBox_Proc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
    switch(msg)
    {
        case WM_CHAR:
            break;
        case WM_KEYDOWN:
            break;
        case WM_DESTROY:
            SetWindowLongPtr(hwnd, GWLP_WNDPROC, (DWORD)GetProp(hwnd, TEXT("Wprc")));
            RemoveProp(hwnd, TEXT("Wprc"));
            break;
        default:
            return CallWindowProc((WNDPROC)GetProp(hwnd, TEXT("Wprc")), hwnd, msg, wParam, lParam);
    }
    return FALSE;
}
static LRESULT CALLBACK ComboBox_Proc1(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
 {
    switch(msg)
    {
        case WM_LBUTTONDOWN:
          //PROBLEM IS HERE
            break;
        case WM_DESTROY: 
            SetWindowLongPtr(hwnd, GWLP_WNDPROC, (DWORD)GetProp(hwnd, TEXT("Wprc1")));
            RemoveProp(hwnd, TEXT("Wprc1"));
            break;
        default:
            return CallWindowProc((WNDPROC)GetProp(hwnd, TEXT("Wprc1")), hwnd, msg, wParam, lParam);
    }
    return FALSE;
}