Codejock Forums Homepage
Forum Home Forum Home > Codejock Products > Visual C++ MFC > Toolkit Pro
  New Posts New Posts RSS Feed - CXTPReportControl edit mode
  FAQ FAQ  Forum Search   Events   Register Register  Login Login

CXTPReportControl edit mode

 Post Reply Post Reply
Author
Message
dmitklg View Drop Down
Newbie
Newbie


Joined: 24 March 2006
Status: Offline
Points: 17
Post Options Post Options   Thanks (0) Thanks(0)   Quote dmitklg Quote  Post ReplyReply Direct Link To This Post Topic: CXTPReportControl edit mode
    Posted: 24 March 2006 at 5:40am

How can I edit the label of the new CXTPReportRecordItem? (using code, not by user action).

 

The new row must be visible, selected and the first cell must be in edit mode, so the user can change the text.



my code don't work
    CXTPReportRow * pRow = m_wndReport.GetRows()->GetAt(m_wndReport.GetRows()->Ge tCount()- 1);
    m_wndReport.EnsureVisible(pRow);
    m_wndReport.GetSelectedRows()->Select(pRow);
    m_wndReport.SetFocusedRow(pRow);
    CRect rc;
    CXTPReportRow * pRow = m_wndReport.GetFocusedRow();   
    if (pRow) {
        CXTPReportRecordItemText * pName = (CXTPReportRecordItemText *)pRow->GetRecord()->GetItem(1);
        rc = pRow->GetItemRect(pName);
        pRow->OnDblClick(rc.TopLeft());
        CXTPReportInplaceEdit* pEdit = pRow->GetControl()->GetInplaceEdit();
        pEdit->SetSel(0,-1);
    }
Back to Top
sserge View Drop Down
Moderator Group
Moderator Group


Joined: 01 December 2004
Status: Offline
Points: 1297
Post Options Post Options   Thanks (0) Thanks(0)   Quote sserge Quote  Post ReplyReply Direct Link To This Post Posted: 24 March 2006 at 7:49am
Hi,

Instead of direct use of inplace edit control there you'd better call CXTPReportControl::EditItem()

--
WBR,
Serge
Back to Top
sserge View Drop Down
Moderator Group
Moderator Group


Joined: 01 December 2004
Status: Offline
Points: 1297
Post Options Post Options   Thanks (0) Thanks(0)   Quote sserge Quote  Post ReplyReply Direct Link To This Post Posted: 24 March 2006 at 7:54am
ps: just change your if() to following:

    XTP_REPORTRECORDITEM_ARGS args(&m_wndReport, pRow, m_wndReport.GetColumns()->GetAt(1));
    m_wndReport.EditItem(&args);

Back to Top
dmitklg View Drop Down
Newbie
Newbie


Joined: 24 March 2006
Status: Offline
Points: 17
Post Options Post Options   Thanks (0) Thanks(0)   Quote dmitklg Quote  Post ReplyReply Direct Link To This Post Posted: 26 March 2006 at 11:26pm
i test this code but it don't work

InplaceEdit not visible

    m_wndReport.SetFocus();
    CXTPReportRecord* pRecord = m_wndReport.AddRecord(new CXTPReportRecord());
    pRecord->AddItem(new CXTPReportRecordItemNumber(0,">") );
    pRecord->AddItem(new CXTPReportRecordItemText("new line"));
    m_wndReport.Populate();

    CXTPReportRow * pRow = m_wndReport.GetRows()->Find(pRecord);
    if (pRow) {
        m_wndReport.SetFocusedRow(pRow);
        XTP_REPORTRECORDITEM_ARGS args(&m_wndReport, pRow, m_wndReport.GetColumns()->GetAt(1));
        m_wndReport.EditItem(&args);
    }
Back to Top
dmitklg View Drop Down
Newbie
Newbie


Joined: 24 March 2006
Status: Offline
Points: 17
Post Options Post Options   Thanks (0) Thanks(0)   Quote dmitklg Quote  Post ReplyReply Direct Link To This Post Posted: 26 March 2006 at 11:34pm
void CXTPReportInplaceEdit::Create(XTP_REPORTRECORDITEM_ARGS* pItemArgs)
{
    SetItemArgs(pItemArgs);
    m_pSelectedConstraint = NULL;

    XTP_REPORTRECORDITEM_METRICS metrics;
    metrics.strText = pItem->GetCaption(pColumn);
    pItemArgs->pRow->FillMetrics(pColumn, pItem, &metrics);

    CRect rect = pItemArgs->rcItem; <<<<

rect = (39,0,235,0)
whi  is it?
Back to Top
 Post Reply Post Reply
  Share Topic   

Forum Jump Forum Permissions View Drop Down

Forum Software by Web Wiz Forums® version 12.04
Copyright ©2001-2021 Web Wiz Ltd.

This page was generated in 0.172 seconds.