[Webinar] Streamline your web hosting managementRegister Today

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 204
  • Last Modified:

using MS FlexGrid -- Urgent

Where or how can I get a control which would be like MSFlex Grid control, but with editable cells?
0
lxiao
Asked:
lxiao
  • 5
  • 3
1 Solution
 
guruprasad031298Commented:
You can use the DBGrid control, which allows in-place editing or code MSFlexGrid to allow in-place editing (more work involved). If you want some code about in-place editing on MSFlexGrid, let me know.

The DBGrid control is by Apex Software Corp and is bundled with VC++ ver 5.0. In case if you don't have one in your machine or want to buy one, you can reach them through 1-800-858-APEX.

Hope this helps ....
0
 
lxiaoAuthor Commented:
I have TRUE DBGrid Evaluation copy, but I don't have a DB to support. My usage is simple, MSFlexGrid does very well except it's not editable. I would prefer in-place editing. How?
0
 
lxiaoAuthor Commented:
I have TRUE DBGrid Evaluation copy, but I don't have a DB to support. My usage is simple, MSFlexGrid does very well except it's not editable. I would prefer in-place editing. How?
0
Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

 
guruprasad031298Commented:
Try using this. This is one of the answer I suggested to a question at expert-exchange already. It worked well. Should work good for you too. May be rquires some minor adjustment for edit control positioning.

void CMyView::OnDblClickStdgrid()
 {
    // Embed editable CEdit Control

    // Construct edit control
    pEdit = new CStdEqpEdit(&m_StdGrid, row);  // Pass the flexgrid control & the                                                                       // selected row for further processing

    /*
     * Conversion from Twips to Pixel scale. Divisor values are specific to this
     * grid and may not work for others. Generic conversion routine couldn't be
     * written for this purpose. Make sure not to change this
     */

    long lLeft = (long) (m_StdGrid.GetCellLeft () / 15);
    long lTop = (long) (m_StdGrid.GetCellTop () / 15);
    long lHeight = (long) (m_StdGrid.GetCellHeight() / 15);
    long lWidth = (long) (m_StdGrid.GetCellWidth() / 14.3);

    CRect rect (lLeft, lTop, lLeft + lWidth, lTop + lHeight);

    // Create the edit control on the fly
    pEdit->Create (WS_CHILD | WS_VISIBLE | WS_BORDER, rect,                                                       this,IDC_SEQ_NUM_EDIT);
    pEdit->SetWindowText (m_StdGrid.GetText());

    // Change the font of the edit control to that of the grid cell for consistency
    CString sFontName = m_StdGrid.GetCellFontName();
    int iFontSize = (int) (m_StdGrid.GetCellFontSize() * FONT_SCALE);
    CFont *pFontEdit = new CFont();
    pFontEdit->CreatePointFont (iFontSize, sFontName);
    pEdit->SetFont (pFontEdit);

    // Set the focus to the edit control
    pEdit->SetFocus();
}

    Hope this helps





0
 
lxiaoAuthor Commented:
Thanks. I'll try.
0
 
lxiaoAuthor Commented:
I created the CEdit control. But once it gets into the Grid area, it disappears. What's wrong?
Thanks.
0
 
guruprasad031298Commented:
Make sure you have subclassed the standard edit control, by using the classwizard - add new class functionality and derive the new class from CEdit, so that all the messages will be routed to this new class.

Add an OnSetFocus message handler to this Edit control. Then debug through the code to see what's wrong. Once you make sure the edit control behaves in the proper way, it's easy to figure out the rest.

Have a nice weekend
0
 
lxiaoAuthor Commented:
The edit control size looks fine. But the position is wrong. How can I find the right position without using magic numbers? Thanks.
0

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 5
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now