2.4.11 PEVENT_GETN
Name
PEVENT_GETN
Declaration
typedef int (* PEVENT_GETN)(TreeNode& tr, int nRow, int nEvent, DWORD& dwEnables, LPCSTR lpcszNodeName, WndContainer& getNContainer, string& strAux, string& strErrMsg);
Examples
You can go to GetNBox to see other example.
EX1
#include <Control.h>
#include <GetNbox.h>
void GetNBox_ex()
{
GETN_TREE(tr)
GETN_COMBO_BUTTON(test, ">", "List", "User", "AAA|BBB", "")
GETN_CHECK(check, "Yes or No", 0)
if( GetNBox(tr, _event_func_ex, "Test Event Function", "Test...") )
{
out_str("Done"); // if OK button clicked
}
}
int _event_func_ex(TreeNode& tr, int nRow, int nEvent, DWORD& dwEnables, LPCSTR lpcszNodeName, WndContainer& getNContainer, string& strAux, string& strErrMsg)
{
//show how to use tr, nRow and nEvent
if(GETNE_ON_VALUE_CHANGE == nEvent)
{
//get the value-changed node
TreeNode trEdited = tree_get_node(tr, nRow);
if( trEdited )
printf("changed node: %s\n", trEdited.tagName);
}
//show how to use nEvent, lpcszNodeName, and getNContainer
if(ONODETYPE_BROWSECOMBO == nEvent && lstrcmpi(lpcszNodeName,"test") == 0)
{
//click the ">" button to show menu
Menu myMenu;
myMenu.Add("Item1", 1, MF_STRING);
myMenu.Add("Item2", 2, MF_STRING);
int nSelCmd;
POINT pt;
GetCursorPos(&pt);
myMenu.TrackPopupMenu(0, pt.x, pt.y, getNContainer.GetSafeHwnd(), &nSelCmd);
if(nSelCmd > 0)
{
string strName;
myMenu.GetMenuString(nSelCmd, strName, MF_STRING);
tr.test.strVal = strName;
}
}
//shows how to use strErrMsg and disable OK button
if( tr.check )
{
// disable OK button if "Yes or No" checkbox is unchecked.
bool bEnable = ( 1 == tr.check.nVal );
O_SET_BIT(dwEnables, GETNGEVT_OK_ENABLE, bEnable);
if( !bEnable )
strErrMsg = "Error! Yes or No checkbox is unchecked";
}
return true;
}
Remark
The function pointer of the GetNBox dialog's event.
Header to Include
GetNbox.h
Reference
|