From: Gabor S. <sz...@us...> - 2004-07-22 20:01:33
|
Update of /cvsroot/winguitest/Win32-GuiTest In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19870 Modified Files: changes guitest.pm guitest.xs Log Message: GetMenuItemInfo exported Index: guitest.xs =================================================================== RCS file: /cvsroot/winguitest/Win32-GuiTest/guitest.xs,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** guitest.xs 21 Jul 2004 21:33:55 -0000 1.8 --- guitest.xs 22 Jul 2004 20:01:23 -0000 1.9 *************** *** 983,986 **** --- 983,1017 ---- RETVAL + # experimental code by SZABGAB + + void + GetMenuItemInfo(hMenu, uItem) + HMENU hMenu; + UINT uItem; + INIT: + MENUITEMINFO minfo; + char buff[256] = ""; /* Menu Data Buffer */ + PPCODE: + memset(buff, 0, sizeof(buff)); + minfo.cbSize = sizeof(MENUITEMINFO); + minfo.fMask = MIIM_DATA | MIIM_TYPE; + minfo.dwTypeData = buff; + minfo.cch = sizeof(buff); + + if (GetMenuItemInfo(hMenu, uItem, TRUE, &minfo)) { + XPUSHs(sv_2mortal(newSVpv("type", 4))); + if (minfo.fType == MFT_STRING) { + XPUSHs(sv_2mortal(newSVpv("string", 6))); + int r; + r = strlen(minfo.dwTypeData); + XPUSHs(sv_2mortal(newSVpv("text", 4))); + XPUSHs(sv_2mortal(newSVpv(minfo.dwTypeData, r))); + } + if (minfo.fType == MFT_SEPARATOR) { + XPUSHs(sv_2mortal(newSVpv("separator", 9))); + } + } + + int GetMenuItemCount(hMenu) Index: changes =================================================================== RCS file: /cvsroot/winguitest/Win32-GuiTest/changes,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** changes 17 Jul 2004 15:00:39 -0000 1.11 --- changes 22 Jul 2004 20:01:23 -0000 1.12 *************** *** 238,246 **** - Add more examles in eg directory (SZABGAB) - - Tests using Test::More now (SZABGAB) - - Some more documentation (SZABGAB) ! --- 238,246 ---- - Add more examles in eg directory (SZABGAB) - Tests using Test::More now (SZABGAB) - Some more documentation (SZABGAB) ! - Explanation how to setup development environment (SZABGAB) ! - A number of new exported methods regarding Menu items ! such as GetMenuItemInfo Index: guitest.pm =================================================================== RCS file: /cvsroot/winguitest/Win32-GuiTest/guitest.pm,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** guitest.pm 21 Jul 2004 21:33:55 -0000 1.16 --- guitest.pm 22 Jul 2004 20:01:23 -0000 1.17 *************** *** 123,126 **** --- 123,127 ---- GetMenuItemId GetMenuItemCount + GetMenuItemInfo )], *************** *** 609,612 **** --- 610,625 ---- MenuSelect("&Close", 0, GetSystemMenu(GetForegroundWindow(), FALSE)); + =item GetMenuItemInfo($menuHndl, $cnt) + + Receives a menu handler (one we got from GetMenu or GetSubMenu) and + a number (which is the location of the item within the given menu). + + Returns a hash of which there are currently 2 keys: + type can be either "string" or "separator" - this is the type of the menu item + text is the visible text of the menu item (provided only for "string" type) + + WARNING: This is an experimental function. Its behavior might change. + + =cut |