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

CCustomItemIPAddress

 Post Reply Post Reply
Author
Message Reverse Sort Order
netman2 View Drop Down
Groupie
Groupie


Joined: 19 April 2016
Location: Seoul
Status: Offline
Points: 24
Post Options Post Options   Thanks (0) Thanks(0)   Quote netman2 Quote  Post ReplyReply Direct Link To This Post Topic: CCustomItemIPAddress
    Posted: 17 January 2017 at 11:36pm
I added button into IP Address Control.

So it has a button inside IP Address Control.

And I tried your solution, It's a same.

Thanks, your reply!
Back to Top
olebed View Drop Down
Admin Group
Admin Group


Joined: 01 July 2014
Location: Ukraine
Status: Offline
Points: 841
Post Options Post Options   Thanks (0) Thanks(0)   Quote olebed Quote  Post ReplyReply Direct Link To This Post Posted: 12 January 2017 at 9:47am
CCustomItemIPAddress control  doesn't have inplace buttons.

Your code need to be improved 
LRESULT CPropertyGridDlg::OnGridNotify(WPARAM wParam, LPARAM lParam)
{
    if (wParam == XTP_PGN_DBLCLICK || wParam == XTP_PGN_RCLICK || wParam == XTP_PGN_INPLACEBUTTONDOWN)
    {
        //CXTPPropertyGridInplaceButton* button1 = DYNAMIC_DOWNCAST(CXTPPropertyGridInplaceButton, (CWnd*)lParam);    //wrong cast
        CXTPPropertyGridInplaceButton* button = dynamic_cast<CXTPPropertyGridInplaceButton*>((CWnd*)lParam);
        if (button)
        {
            CXTPPropertyGridItem*  pGridItem = button->GetItem();
            if(pGridItem)
                pGridItem->Remove();
        }

    }......

Back to Top
netman2 View Drop Down
Groupie
Groupie


Joined: 19 April 2016
Location: Seoul
Status: Offline
Points: 24
Post Options Post Options   Thanks (0) Thanks(0)   Quote netman2 Quote  Post ReplyReply Direct Link To This Post Posted: 09 January 2017 at 6:41am
class CCustomItemIPAddress : public CXTPPropertyGridItem
{
class CInplaceEditIPAddress : public CXTPPropertyGridInplaceEdit
{
public:
BOOL Create(LPCTSTR /*lpszClassName*/, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext)
{
if (!CWnd::Create(WC_IPADDRESS, lpszWindowName, dwStyle, rect, pParentWnd, nID, pContext))
return FALSE;

ModifyStyle(WS_BORDER, 0);
ModifyStyleEx(WS_EX_CLIENTEDGE, 0, SWP_FRAMECHANGED);
return TRUE;
}
};

public:
CCustomItemIPAddress::CCustomItemIPAddress(CString strCaption)
: CXTPPropertyGridItem(strCaption)
{
}

protected:
virtual CXTPPropertyGridInplaceEdit& GetInplaceEdit()
{
return m_wndEdit;
}

private:
CInplaceEditIPAddress m_wndEdit;

};

Now I'm using above CCustomItemIPAddress from sample code. 

It was nice until I remove one of the CCustomItemIPAddress from PropertyGrid.

When I remove CCustomItemIPAddress from PropertyGrid, my propertygrid's font and size are changed.

I don't know how to handle this. 

This below is my sample code.

::OnGridNotify(WPARAM wParam, LPARAM lParam)
{
CXTPPropertyGridInplaceButton * button = (CXTPPropertyGridInplaceButton *)lParam;
button->GetItem()->Remove();
}

You can test in Codejock sample code in PropertyGrid. There is CCustomItemIPAddress.

Please help me!

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.