【お知らせ】この部分は英語原文のみでの提供となります。何卒ご了承ください。
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