Esempio n. 1
0
void CuDlgDBEventPane01::InitializeDBEvent (CString& str, CCheckListBox* pList)
{
    CWinApp* app = NULL;
    CView* pView = (CView*)GetParent();
    ASSERT (pView);
    CDbeventDoc* pDoc = (CDbeventDoc*)pView->GetDocument();
    ASSERT (pDoc);

    int      cur, ires;
    TCHAR    buf [MAXOBJECTNAME];
    TCHAR    buffilter [MAXOBJECTNAME];
    LPUCHAR  parentstrings [MAXPLEVEL];
    memset (buf, 0, sizeof (buf));
    memset (buffilter, 0, sizeof (buffilter));
    if (!pList)
    {
        CleanListBox (&m_cListDBEvent);
        m_cListDBEvent.ResetContent();
    }
    CString strNone;
    strNone.LoadString (IDS_DATABASE_NONE);
    if (str == strNone)
    {
        m_strCurrentDB = "";
        return;
    }
    parentstrings [0] = (LPUCHAR)(LPCTSTR)str;
    parentstrings [1] = NULL;
    app = AfxGetApp();
    app->DoWaitCursor (1);
    ires = DOMGetFirstObject (
        pDoc->m_hNode, 
        OT_DBEVENT, 
        1, 
        parentstrings, 
        pDoc->m_bSysDBEvent, 
        NULL, 
        (LPUCHAR)buf, 
        (LPUCHAR)buffilter, 
        NULL);
    while (ires == RES_SUCCESS)
    {
        if (pList)
            cur = pList->AddString ((LPCTSTR)buf);
        else
            cur = m_cListDBEvent.AddString ((LPCTSTR)buf);
        if (cur != LB_ERR)
        {
            LPTSTR lpszOwner;
            lpszOwner = new TCHAR [lstrlen (buffilter)+1];
            lstrcpy (lpszOwner, (LPTSTR)buffilter);
            if (pList)
                pList->SetItemData (cur, (DWORD)lpszOwner);
            else
                m_cListDBEvent.SetItemData (cur, (DWORD)lpszOwner);
        }
        ires  = DOMGetNextObject ((LPUCHAR)buf, (LPUCHAR)buffilter, NULL);
    }
    app->DoWaitCursor (-1);
    m_strCurrentDB = str;
}