Mfc CCheckListBox具有虚假的垂直滚动条

Mfc CCheckListBox具有虚假的垂直滚动条,mfc,Mfc,我似乎无法解决这个与我有关的问题 这是一种填充列表框的方法: void CPublishersDatabaseDlg::InitAssignmentsListBox() { UINT uIDs[] = { IDS_STR_SOUND, IDS_STR_PLATFORM, IDS_STR_MICROPHONE, IDS_STR_ATTENDANT, IDS_STR_MIDWEEK_MEETING,

我似乎无法解决这个与我有关的问题

这是一种填充列表框的方法:

void CPublishersDatabaseDlg::InitAssignmentsListBox()
{
    UINT uIDs[] = 
    {
        IDS_STR_SOUND,
        IDS_STR_PLATFORM,
        IDS_STR_MICROPHONE,
        IDS_STR_ATTENDANT,
        IDS_STR_MIDWEEK_MEETING,
        IDS_STR_CBS_CONDUCTOR,
        IDS_STR_CBS_READER,
        IDS_STR_ASSIGN_CHAIRMAN,
        IDS_STR_PRAYER,
        IDS_STR_STUDENT,
        IDS_STR_DEMONSTRATIONS
    };

    WPARAM eTypes[] = 
    {
        MAKEWPARAM(MSAToolsLibrary::AssignmentType_Sound, -1),
        MAKEWPARAM(MSAToolsLibrary::AssignmentType_PlatformAttendant, -1),
        MAKEWPARAM(MSAToolsLibrary::AssignmentType_Mike, -1),
        MAKEWPARAM(MSAToolsLibrary::AssignmentType_Attendant, -1),
        MAKEWPARAM(MSAToolsLibrary::AssignmentType_OCLM, -1),
        MAKEWPARAM(MSAToolsLibrary::AssignmentType_ConductorCBS, -1),
        MAKEWPARAM(MSAToolsLibrary::AssignmentType_ReaderCBS, -1),
        MAKEWPARAM(MSAToolsLibrary::AssignmentType_Chairman, -1),
        MAKEWPARAM(MSAToolsLibrary::AssignmentType_Prayer, -1),
        MAKEWPARAM(MSAToolsLibrary::AssignmentType_Student, -1),
        MAKEWPARAM(MSAToolsLibrary::AssignmentType_Demonstration, -1)

    };

    for (int i = 0; i < 11; i++)
    {
        CString strAssignment = _T("");

        if (strAssignment.LoadString(uIDs[i]))
        {
            int i = m_lbAssignments.AddString(strAssignment);
            m_lbAssignments.SetItemData(i, static_cast<DWORD_PTR>(eTypes[i]));
        }
    }

    int iNumCustomAssign = theApp.GetNumberSetting(_T(""), ASSIGN_COUNT, 0);
    for (int iAssign = 0; iAssign < iNumCustomAssign; iAssign++)
    {
        CString strAssign, strDescription, strSection;

        strAssign.Format(ASSIGN_TEMPLATE, iAssign);
        strSection.Format(SECTION_TEMPLATE, (LPCTSTR)strAssign);
        strDescription = theApp.GetStringSetting(strSection, ASSIGN_DESCRIPTION_KEY, strAssign);

        if (strDescription != ASSIGN_DELETED) // Skip deleted custom assignments
        {
            int i = m_lbAssignments.AddString(strDescription);
            m_lbAssignments.SetItemData(i, MAKEWPARAM(MSAToolsLibrary::AssignmentType_Custom, iAssign));
        }
    }
}

我不知道如何解决这个问题。

首先,您需要诊断问题。仅仅说“应用程序崩溃”并没有多大帮助。如果出现异常终止,您可以在出错时查看调用堆栈。由于我们不知道您对“崩溃”的理解,我们无法利用现有信息。请提供有关“崩溃”的具体信息。@IInspectable我无法按需复制异常。古怪的我决定用另一种方法。带有CImageList的单列CGridCtrl。我知道它不能回答手头的问题。但我现在有一个稳定的前进方向。谢谢
LISTBOX         IDC_LIST_PUBLISHER_ASSIGNMENTS,177,149,286,110,LBS_SORT | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP