.head 0 + Application Description: Centura SQLWindows/32 Standard Application Template .head 1 - Outline Version - 4.0.27 .head 1 + Design-time Settings .data VIEWINFO 0000: 6F00000001000000 FFFF01000D004347 5458566965775374 6174650400010000 0020: 0000000000BC0000 002C000000020000 0003000000FFFFFF FFFFFFFFFFFCFFFF 0040: FFE9FFFFFFFFFFFF FF000000007C0200 004D010000010000 0001000000010000 0060: 000F4170706C6963 6174696F6E497465 6D00000000 .enddata .head 2 - Outline Window State: Normal .head 2 + Outline Window Location and Size .data VIEWINFO 0000: 6600040003002D00 0000000000000000 0000B71E5D0E0500 1D00FFFF4D61696E 0020: 0000000000000000 0000000000000000 0000003B00010000 00000000000000E9 0040: 1E800A00008600FF FF496E7465726E61 6C2046756E637469 6F6E730000000000 0060: 0000000000000000 0000000000003200 0100000000000000 0000E91E800A0000 0080: DF00FFFF56617269 61626C6573000000 0000000000000000 0000000000000000 00A0: 3000010000000000 00000000F51E100D 0000F400FFFF436C 6173736573000000 00C0: 0000000000000000 0000000000000000 .enddata .data VIEWSIZE 0000: D000 .enddata .head 3 - Left: -0.013" .head 3 - Top: 0.0" .head 3 - Width: 8.013" .head 3 - Height: 4.969" .head 2 + Options Box Location .data VIEWINFO 0000: D4180909B80B1A00 .enddata .data VIEWSIZE 0000: 0800 .enddata .head 3 - Visible? No .head 3 - Left: 4.15" .head 3 - Top: 1.885" .head 3 - Width: 3.8" .head 3 - Height: 2.073" .head 2 + Class Editor Location .head 3 - Visible? No .head 3 - Left: 0.575" .head 3 - Top: 0.094" .head 3 - Width: 5.063" .head 3 - Height: 2.719" .head 2 + Tool Palette Location .head 3 - Visible? No .head 3 - Left: 6.388" .head 3 - Top: 0.729" .head 2 - Fully Qualified External References? Yes .head 2 - Reject Multiple Window Instances? No .head 2 - Enable Runtime Checks Of External References? Yes .head 2 - Use Release 4.0 Scope Rules? No .head 1 - Libraries .head 1 + Global Declarations .head 2 + Window Defaults .head 3 + Tool Bar .head 4 - Display Style? Etched .head 4 - Font Name: MS Sans Serif .head 4 - Font Size: 8 .head 4 - Font Enhancement: System Default .head 4 - Text Color: System Default .head 4 - Background Color: System Default .head 3 + Form Window .head 4 - Display Style? Etched .head 4 - Font Name: MS Sans Serif .head 4 - Font Size: 8 .head 4 - Font Enhancement: System Default .head 4 - Text Color: System Default .head 4 - Background Color: System Default .head 3 + Dialog Box .head 4 - Display Style? Etched .head 4 - Font Name: MS Sans Serif .head 4 - Font Size: 8 .head 4 - Font Enhancement: System Default .head 4 - Text Color: System Default .head 4 - Background Color: System Default .head 3 + Top Level Table Window .head 4 - Font Name: MS Sans Serif .head 4 - Font Size: 8 .head 4 - Font Enhancement: System Default .head 4 - Text Color: System Default .head 4 - Background Color: System Default .head 3 + Data Field .head 4 - Font Name: Use Parent .head 4 - Font Size: Use Parent .head 4 - Font Enhancement: Use Parent .head 4 - Text Color: Use Parent .head 4 - Background Color: Use Parent .head 3 + Multiline Field .head 4 - Font Name: Use Parent .head 4 - Font Size: Use Parent .head 4 - Font Enhancement: Use Parent .head 4 - Text Color: Use Parent .head 4 - Background Color: Use Parent .head 3 + Spin Field .head 4 - Font Name: Use Parent .head 4 - Font Size: Use Parent .head 4 - Font Enhancement: Use Parent .head 4 - Text Color: Use Parent .head 4 - Background Color: Use Parent .head 3 + Background Text .head 4 - Font Name: Use Parent .head 4 - Font Size: Use Parent .head 4 - Font Enhancement: Use Parent .head 4 - Text Color: Use Parent .head 4 - Background Color: Use Parent .head 3 + Pushbutton .head 4 - Font Name: Use Parent .head 4 - Font Size: Use Parent .head 4 - Font Enhancement: Use Parent .head 3 + Radio Button .head 4 - Font Name: Use Parent .head 4 - Font Size: Use Parent .head 4 - Font Enhancement: Use Parent .head 4 - Text Color: Use Parent .head 4 - Background Color: Use Parent .head 3 + Check Box .head 4 - Font Name: Use Parent .head 4 - Font Size: Use Parent .head 4 - Font Enhancement: Use Parent .head 4 - Text Color: Use Parent .head 4 - Background Color: Use Parent .head 3 + Option Button .head 4 - Font Name: Use Parent .head 4 - Font Size: Use Parent .head 4 - Font Enhancement: Use Parent .head 3 + Group Box .head 4 - Font Name: Use Parent .head 4 - Font Size: Use Parent .head 4 - Font Enhancement: Use Parent .head 4 - Text Color: Use Parent .head 4 - Background Color: Use Parent .head 3 + Child Table Window .head 4 - Font Name: Use Parent .head 4 - Font Size: Use Parent .head 4 - Font Enhancement: Use Parent .head 4 - Text Color: Use Parent .head 4 - Background Color: Use Parent .head 3 + List Box .head 4 - Font Name: Use Parent .head 4 - Font Size: Use Parent .head 4 - Font Enhancement: Use Parent .head 4 - Text Color: Use Parent .head 4 - Background Color: Use Parent .head 3 + Combo Box .head 4 - Font Name: Use Parent .head 4 - Font Size: Use Parent .head 4 - Font Enhancement: Use Parent .head 4 - Text Color: Use Parent .head 4 - Background Color: Use Parent .head 3 + Line .head 4 - Line Color: Use Parent .head 3 + Frame .head 4 - Border Color: Use Parent .head 4 - Background Color: 3D Face Color .head 3 + Picture .head 4 - Border Color: Use Parent .head 4 - Background Color: Use Parent .head 2 + Formats .head 3 - Number: 0'%' .head 3 - Number: #0 .head 3 - Number: ###000 .head 3 - Number: ###000;'($'###000')' .head 3 - Date/Time: hh:mm:ss AMPM .head 3 - Date/Time: M/d/yy .head 3 - Date/Time: MM-dd-yy .head 3 - Date/Time: dd-MMM-yyyy .head 3 - Date/Time: MMM d, yyyy .head 3 - Date/Time: MMM d, yyyy hh:mm AMPM .head 3 - Date/Time: MMMM d, yyyy hh:mm AMPM .head 2 - External Functions .head 2 + Constants .data CCDATA 0000: 3000000000000000 0000000000000000 00000000 .enddata .data CCSIZE 0000: 1400 .enddata .head 3 - System .head 3 - User .head 2 - Resources .head 2 - Variables .data RESOURCE 0 0 1 978785135 0000: 1E00000011000000 0000000000000000 0200000100000004 000000E0010D0000 0020: 00FF3F .enddata .head 2 + Internal Functions .head 3 - ! ! Menu .head 3 + Function: VisMenuAddPicture .head 4 - Description: author: tl date: 4.7.2002 version: 1.00 desc: Adds a picture to menuentry. parameter: phWndForm The handle of the main menuwindow (mostly hWndForm ) psPos The location of the menu, seperated by '>' pbTextLoc TRUE the location is given in menutext FALSE the location is given by position, starting at zero phPicture the handle of a picture (.. VisPicLoad ) phFont ! optional the handle of a font , if 0 the font is taken from the parent window example: Call VisMenuAddPicture(fwMain, 'Menu>Disable>Disable',TRUE, ghPicMinusLt, 0) Call VisMenuAddPicture(fwMain, '1>0',FALSE, ghPicOpen, 0) .head 4 + Returns .head 5 - Boolean: .head 4 + Parameters .head 5 - Window Handle: phWndForm .data INHERITPROPS 0000: 0100 .enddata .head 5 - String: psPos .head 5 - Boolean: pbTextLoc .head 5 - Number: phPicture .data INHERITPROPS 0000: 0100 .enddata .head 5 - Number: pnColorTransparent .head 5 + Number: pnColorNew .head 6 - ! If NUMBER_Null the std 3dFace color is taken .head 4 - Static Variables .head 4 + Local variables .head 5 - String: lsText .head 5 - String: lsFontName .data INHERITPROPS 0000: 0100 .enddata .head 5 - Number: lnFontSize .data INHERITPROPS 0000: 0100 .enddata .head 5 - Number: lnFontEnh .data INHERITPROPS 0000: 0100 .enddata .head 5 - Number: lhFont .data INHERITPROPS 0000: 0100 .enddata .head 5 - Number: nCount .data INHERITPROPS 0000: 0100 .enddata .head 5 - Number: nPos .data INHERITPROPS 0000: 0100 .enddata .head 5 - Number: hMenu .data INHERITPROPS 0000: 0100 .enddata .head 5 - String: lsPos [*] .head 5 - Number: lnMenuCount .head 5 - Number: nIdx .data INHERITPROPS 0000: 0100 .enddata .head 4 + Actions .head 5 - ! search for the menuentry .head 5 - Set hMenu = VisMenuGetHandle( phWndForm ) .head 5 - Set lnMenuCount = SalStrTokenize( psPos,"", ">", lsPos ) .head 5 + While nIdx < lnMenuCount - 1 .head 6 + If pbTextLoc .head 7 - Set nPos = VisMenuGetPos( phWndForm, hMenu, lsPos[nIdx]) .head 6 + Else .head 7 - Set nPos = SalStrToNumber(lsPos[nIdx]) .head 6 + If nPos = -1 .head 7 - Return FALSE .head 6 - Set hMenu = VisMenuGetPopupHandle( hMenu, nPos) .head 6 - Set nIdx = nIdx + 1 .head 5 - ! the position of the text .head 5 + If pbTextLoc .head 6 - Set nPos = VisMenuGetPos( phWndForm, hMenu, lsPos[nIdx]) .head 5 + Else .head 6 - Set nPos = SalStrToNumber(lsPos[nIdx]) .head 5 + If nPos = -1 .head 6 - Return FALSE .head 5 - ! read text .head 5 - Set lsText = VisMenuGetText(phWndForm, hMenu, nPos) .head 5 - ! and set .head 5 - Call VisMenuSetPictureX(phWndForm, hMenu, nPos,phPicture, phPicture,lsText,pnColorTransparent, pnColorNew ) .head 5 - Return TRUE .head 3 + Function: VisMenuAddPictureRessource .head 4 - Description: author: tl date: 4.7.2002 version: 1.00 desc: Adds a picture to menuentry. parameter: phWndForm The handle of the main menuwindow (mostly hWndForm ) psPos The location of the menu, seperated by '>' pbTextLoc TRUE the location is given in menutext FALSE the location is given by position, starting at zero phPicture the handle of a picture (.. VisPicLoad ) phFont ! optional the handle of a font , if 0 the font is taken from the parent window example: Call VisMenuAddPicture(fwMain, 'Menu>Disable>Disable',TRUE, 'bmpDelete', PIC_FormatBitmap,0) Call VisMenuAddPicture(fwMain, '1>0',FALSE, ghPicOpen,PIC_FormatBitmap, 0) .head 4 + Returns .head 5 - Boolean: .head 4 + Parameters .head 5 - Window Handle: phWndForm .data INHERITPROPS 0000: 0100 .enddata .head 5 - String: psPos .head 5 - Boolean: pbTextLoc .head 5 + String: psPicRessource .data INHERITPROPS 0000: 0100 .enddata .head 6 - ! the name of the ressource .head 5 - Number: pnColorTransparent .head 5 + Number: pnColorNew .head 6 - ! If NUMBER_Null the std 3dFace color is taken .head 4 - Static Variables .head 4 + Local variables .head 5 - Number: lhPicture .data INHERITPROPS 0000: 0100 .enddata .head 5 - Boolean: lbResult .data INHERITPROPS 0000: 0100 .enddata .head 4 + Actions .head 5 - Set lhPicture = VisPicLoad( PIC_LoadSWinRes | PIC_FormatBitmap, psPicRessource, "" ) .head 5 - Set lbResult = VisMenuAddPicture(phWndForm, psPos, pbTextLoc, lhPicture,pnColorTransparent, pnColorNew ) .head 5 - Return lbResult .head 3 + Function: VisMenuGetPos .head 4 - Description: author: tl date: 4.7.2002 version: 1.00 desc: Searches the menuentry by string and returns the index. The index starts at 0, when not found -1 is returned. example: Set nPos = VisMenuGetPos (hWndForm, hMenu, 'Testentry' ) .head 4 + Returns .head 5 - Number: .head 4 + Parameters .head 5 - Window Handle: phWndForm .data INHERITPROPS 0000: 0100 .enddata .head 5 - Number: hMenu .data INHERITPROPS 0000: 0100 .enddata .head 5 - String: psMenuText .data INHERITPROPS 0000: 0100 .enddata .head 4 - Static Variables .head 4 + Local variables .head 5 - Number: nPos .data INHERITPROPS 0000: 0100 .enddata .head 5 - String: lsText .head 5 - Number: nCount .data INHERITPROPS 0000: 0100 .enddata .head 5 - Number: hMenuPopup .data INHERITPROPS 0000: 0100 .enddata .head 5 - String: lsTextNoAcc .head 5 - Number: lnLength .head 5 - String: lsTextRest .head 5 - Number: nAcc .data INHERITPROPS 0000: 0100 .enddata .head 5 - String: lsAcc .head 4 + Actions .head 5 - Set nCount = VisMenuGetCount( hMenu ) .head 5 - Set nPos = 0 .head 5 + While nPos < nCount .head 6 - Set hMenuPopup = VisMenuGetPopupHandle( hMenu, nPos ) .head 6 - Set lnLength = SalStrLength(psMenuText) .head 6 - Set lsText = VisMenuGetText( phWndForm, hMenu, nPos ) .head 6 - Set lsTextRest = SalStrRightX( lsText, SalStrLength( lsText) - lnLength ) .head 6 - ! get accelerator in textrest .head 6 - Set nAcc = VisMenuGetAccelerator( phWndForm, hMenu, nPos, lsAcc ) .head 6 - ! now check if in textrest .head 6 + If nAcc > -1 and nAcc >= lnLength .head 7 - Set lsTextNoAcc = SalStrLeftX(lsText, nAcc ) .head 6 + Else .head 7 - Set lsTextNoAcc = lsText .head 6 - ! .head 6 + If lsTextNoAcc= psMenuText .head 7 - Return nPos .head 6 - Set lsTextNoAcc = VisStrSubstitute( lsTextNoAcc, '&', '' ) .head 6 + If lsTextNoAcc = psMenuText .head 7 - Return nPos .head 6 - Set nPos = nPos + 1 .head 5 - ! not found .head 5 - Return -1 .head 3 + Function: VisMenuGetAccelerator .head 4 - Description: author: tl date: 4.7.2002 version: 1.00 desc: example: .head 4 + Returns .head 5 - Number: .head 4 + Parameters .head 5 - Window Handle: phWndForm .data INHERITPROPS 0000: 0100 .enddata .head 5 - Number: hMenu .data INHERITPROPS 0000: 0100 .enddata .head 5 - Number: nPos .data INHERITPROPS 0000: 0100 .enddata .head 5 - Receive String: rsAcc .data INHERITPROPS 0000: 0100 .enddata .head 4 - Static Variables .head 4 + Local variables .head 5 - Number: nAcc .data INHERITPROPS 0000: 0100 .enddata .head 5 - String: lsText .head 5 - String: lsAcc[16] .head 5 - Number: lnIdx .head 4 + Actions .head 5 - Set lsAcc[0] = "Alt+" .head 5 - Set lsAcc[1] = "Ctrl+" .head 5 - Set lsAcc[2] = "Shift+" .head 5 - Set lsAcc[3] = "F1" .head 5 - Set lsAcc[4] = "F2" .head 5 - Set lsAcc[5] = "F3" .head 5 - Set lsAcc[6] = "F4" .head 5 - Set lsAcc[7] = "F5" .head 5 - Set lsAcc[8] = "F6" .head 5 - Set lsAcc[9] = "F7" .head 5 - Set lsAcc[10] = "F8" .head 5 - Set lsAcc[11] = "F9" .head 5 - Set lsAcc[12] = "F10" .head 5 - Set lsAcc[13] = "F11" .head 5 - Set lsAcc[14] = "F12" .head 5 - Set lsAcc[15] = "Del" .head 5 - ! .head 5 - Set lsText = VisMenuGetText( phWndForm, hMenu, nPos ) .head 5 - ! .head 5 + While lnIdx < 16 .head 6 - Set nAcc = SalStrScan( lsText, lsAcc[lnIdx] ) .head 6 + If nAcc != -1 .head 7 - Break .head 6 - Set lnIdx = lnIdx + 1 .head 5 + If nAcc = -1 .head 6 - Set rsAcc = STRING_Null .head 5 + Else .head 6 - Set rsAcc = SalStrRightX(lsText, SalStrLength( lsText) - nAcc ) .head 5 - Return nAcc - 1 .head 3 + Function: VisMenuSetPictureX .head 4 - Description: author: tl date: 4.7.2002 version: 1.00 desc: Works like VisMenuSetPicture (nut does not destroys the font) parameter: phWndForm - Handle to window containing menu. phMenu - Handle to menu containing item to display picture with. pnPos - Zero-based position within the menu of the item. Menu positions include separators. If negative, identifies a menu item added using VisMenuInsert , which always returns a negative menu ID value. pnPicNormal - Handle of picture to display in menu item when item is not selected. Call VisPicLoad to create a picture handle. pnPicSelect - Handle of picture to display in menu item when item is selected. Note that the parameters hPicNormal and hPicSelect may be the same. psText - Text of item to insert. Specify \t to insert a tab in the text. A tab separates the menu text from the accelerator indicator. All text after the tab is shown along the right edge of the menu. If the menu text is a null string, only the picture is shown. If a picture and text are specified, the text is always shown to the right of the picture. phFont a font handle (optional) example: Call VisMenuSetPicture (hWndForm, hMenu, -1, hPic, 'Sample\tAlt-S') .head 4 + Returns .head 5 - Number: .head 4 + Parameters .head 5 - Window Handle: phWndForm .data INHERITPROPS 0000: 0100 .enddata .head 5 - Number: phMenu .data INHERITPROPS 0000: 0100 .enddata .head 5 - Number: pnPos .data INHERITPROPS 0000: 0100 .enddata .head 5 - Number: pnPicNormal .data INHERITPROPS 0000: 0100 .enddata .head 5 - Number: pnPicSelect .data INHERITPROPS 0000: 0100 .enddata .head 5 - String: psText .data INHERITPROPS 0000: 0100 .enddata .head 5 - Number: pnColorTransparent .head 5 + Number: pnColorNew .head 6 - ! If NUMBER_Null the std 3dFace color is taken .head 4 + Static Variables .head 5 - Number: lhFontDefault .head 4 + Local variables .head 5 - String: lsFontName .data INHERITPROPS 0000: 0100 .enddata .head 5 - Number: lnFontSize .data INHERITPROPS 0000: 0100 .enddata .head 5 - Number: lnFontEnh .data INHERITPROPS 0000: 0100 .enddata .head 5 - Number: lhFont .data INHERITPROPS 0000: 0100 .enddata .head 5 - Number: lhPicEmty .data INHERITPROPS 0000: 0100 .enddata .head 5 - Number: lnPicNormal .head 5 - Number: lnPicSelect .head 4 + Actions .head 5 + If pnPicNormal and pnPicSelect .head 6 - ! Call VisMenuSetPicture(phWndForm,phMenu,pnPos,pnPicNormal,pnPicSelect, psText ) .head 6 - Set lnPicNormal = VisPicGetHandle( pnPicNormal ) .head 6 - Set lnPicSelect = VisPicGetHandle( pnPicSelect ) .head 6 + If pnColorNew = NUMBER_Null .head 7 - Set pnColorNew = GetSysColor(COLOR_3DFACE) .head 6 + If pnColorTransparent != NUMBER_Null .head 7 - Set lnPicNormal = SalPicHandleReplaceColor(lnPicNormal, PIC_FormatBitmap, pnColorTransparent, pnColorNew) .head 7 - Set lnPicSelect = SalPicHandleReplaceColor(lnPicSelect, PIC_FormatBitmap,pnColorTransparent,pnColorNew ) .head 6 - Call SetMenuItemBitmaps( SalNumberToWindowHandle( phMenu ), pnPos, MF_BYPOSITION, lnPicNormal, lnPicSelect ) .head 3 + Function: VisMenuPopupPicture .head 4 - Description: author: tl date: ???? version: 1.01 # for disabled items added 1.00 function implemented desc: Creates a popupmenu by an array with pictures A menuseparator is marked by 3 minus A disabled item is marked by a hash in front of the text example: Set wsTest[0] = 'Hallo' Set wnPic[0] = lhPic1 Set wsTest[1] = '#Iґm disabled' Set wnPic[1] = lhPic2 Set wsTest[2] = '---' Set wsTest[3] = 'Hfallo' Set wnPic[3] = lhPic3 Select Case VisMenuPopupPicture( wsTest, wnPic,TPM_CursorX,TPM_CursorY) Case 0 Break Case 1 Break Case 2 Break Case 3 Break .head 4 + Returns .head 5 - Number: .head 4 + Parameters .head 5 - String: lsEntries[*] .head 5 - Number: lnPic[*] .data INHERITPROPS 0000: 0100 .enddata .head 5 + Number: pnX .data INHERITPROPS 0000: 0100 .enddata .head 6 - ! Use the Flag TPM_CursorX for the Cursorpostion or any other X coordinate .head 5 + Number: pnY .data INHERITPROPS 0000: 0100 .enddata .head 6 - ! Use the Flag TPM_CursorY for the Cursorpostion or any other X coordinate .head 5 - Number: pnColorTransparent .head 5 + Number: pnColorNew .head 6 - ! If NUMBER_Null the std 3dFace color is taken .head 4 - Static Variables .head 4 + Local variables .head 5 - Window Handle: hWndMenu .head 5 - Number: lnXPos .head 5 - Number: lnYPos .head 5 - Number: lnMax .head 5 - Number: lnIdx .head 5 - Number: lnFlag .head 5 - Number: lnChoosen .head 4 + Actions .head 5 - Set hWndMenu = CreatePopupMenu( ) .head 5 - ! .head 5 + If SalArrayIsEmpty( lsEntries ) .head 6 - Return -1 .head 5 - Call SalArrayGetUpperBound( lsEntries, 1, lnMax ) .head 5 + While lnIdx < lnMax + 1 .head 6 + If SalStrScan(lsEntries[lnIdx] ,'---') != -1 .head 7 - Call InsertMenuA( hWndMenu, 0xFFFFFFFF, MF_BYPOSITION | MF_SEPARATOR, lnIdx+1,STRING_Null) .head 6 + Else .head 7 - Set lnFlag = 0 .head 7 + If SalStrLeftX( lsEntries[lnIdx] ,1 ) = "#" .head 8 - Set lnFlag = lnFlag | MF_DISABLED | MF_GRAYED .head 8 - Set lsEntries[lnIdx] = SalStrRightX( lsEntries[lnIdx], SalStrLength( lsEntries[lnIdx] ) -1 ) .head 7 - Call InsertMenuA( hWndMenu, 0xFFFFFFFF, lnFlag | MF_BYPOSITION | MF_STRING, lnIdx+1,lsEntries[lnIdx] ) .head 7 - ! Add picture, when it is given .head 7 + If lnPic[lnIdx] > 0 .head 8 - Call VisMenuSetPictureX(hWndForm, SalWindowHandleToNumber(hWndMenu),lnIdx,lnPic[lnIdx],lnPic[lnIdx],lsEntries[lnIdx], pnColorTransparent, pnColorNew ) .head 6 - Set lnIdx = lnIdx + 1 .head 5 - ! .head 5 - ! ! .head 5 - Call GetCursorPos( lnXPos, lnYPos ) .head 5 + If pnX = TPM_CursorX .head 6 - Set pnX = lnXPos .head 5 + If pnY = TPM_CursorY .head 6 - Set pnY = lnYPos .head 5 - Set lnChoosen = (TrackPopupMenu(hWndMenu, TPM_LEFTALIGN | TPM_RETURNCMD, pnX, pnY, 0, hWndForm, STRING_Null ))-1 .head 5 - Call DestroyMenu(hWndMenu) .head 5 - Return lnChoosen .head 3 + Function: VisMenuPopupPictureRessource .head 4 - Description: author: tl date: ???? version: 1.01 # for disabled items added 1.00 function implemented desc: Creates a popupmenu by an array, with pictures (bitmaps), loaded from the ressource section. A menuseparator is marked by 3 minus A disabled item is marked by a hash in front of the text example: Set wsTest[0] = 'Hallo' Set wnPic[0] = 'bmpTest1' Set wsTest[1] = '#Iґm disabled' Set wnPic[1] = 'bmpTest2' Set wsTest[2] = '---' Set wsTest[3] = 'Hfallo' Select Case VisMenuPopupPictureRessource( wsTest,wnPic,TPM_CursorX,TPM_CursorY) Case 0 Break Case 1 Break Case 2 Break Case 3 Break .head 4 + Returns .head 5 - Number: .head 4 + Parameters .head 5 - String: lsEntries[*] .head 5 + String: lsPictureRessource[*] .data INHERITPROPS 0000: 0100 .enddata .head 6 - ! Only bitnmap ressource names are supported .head 5 + Number: pnX .data INHERITPROPS 0000: 0100 .enddata .head 6 - ! Use the Flag TPM_CursorX for the Cursorpostion or any other X coordinate .head 5 + Number: pnY .data INHERITPROPS 0000: 0100 .enddata .head 6 - ! Use the Flag TPM_CursorY for the Cursorpostion or any other X coordinate .head 5 - Number: pnColorTransparent .head 5 + Number: pnColorNew .head 6 - ! If NUMBER_Null the std 3dFace color is taken .head 4 - Static Variables .head 4 + Local variables .head 5 - Number: lnMax .head 5 - Number: lnIdx .head 5 - Number: lnPicHandle[*] .head 5 - Number: lnResult .data INHERITPROPS 0000: 0100 .enddata .head 4 + Actions .head 5 + If SalArrayIsEmpty( lsEntries ) .head 6 - Return -1 .head 5 - Call SalArrayGetUpperBound( lsEntries, 1, lnMax ) .head 5 + While lnIdx < lnMax + 1 .head 6 + If lsPictureRessource[lnIdx] != STRING_Null .head 7 - Set lnPicHandle[lnIdx] = VisPicLoad(PIC_LoadSWinRes | PIC_FormatBitmap,lsPictureRessource[lnIdx],'') .head 6 - Set lnIdx = lnIdx + 1 .head 5 - Set lnResult = VisMenuPopupPicture( lsEntries, lnPicHandle,pnX,pnY ,pnColorTransparent, pnColorNew ) .head 5 - Return lnResult .head 3 + Function: SalMenuSysAdd .head 4 - Description: author: ??? date: version: V1.00 desc: Adds an Entry to the system menu of an form window example: Call SalMenuSysAdd(999, 'Hallo') On WM_SYSCOMMAND Select Case wParam Case 999 Call .... Default .head 4 - Returns .head 4 + Parameters .head 5 - Number: pnInformCode .data INHERITPROPS 0000: 0100 .enddata .head 5 - String: psText .data INHERITPROPS 0000: 0100 .enddata .head 4 - Static Variables .head 4 + Local variables .head 5 - Window Handle: hWndSysMenu .data INHERITPROPS 0000: 0100 .enddata .head 4 + Actions .head 5 - Set hWndSysMenu = GetSystemMenu( hWndForm, FALSE ) .head 5 - ! Call AppendMenuA( hWndSysMenu, MF_SEPARATOR, 0, '' ) .head 5 - Call AppendMenuA( hWndSysMenu, MF_ENABLED, pnInformCode, psText ) .head 3 + Function: SalMenuSystemEnable .head 4 - Description: Enables or disables the systemmenu items of a window. phWndForm Window Handle pnMenuItem SC_CLOSE SC_RESTORE SC_MINIMIZE SC_MAXIMIZE pbEnabled TRUE / FALSE example: SalMenuSystemEnable( frmMain,SC_CLOSE,FALSE ) .head 4 - Returns .head 4 + Parameters .head 5 - Window Handle: phWndForm .head 5 + Number: pnMenuItem .head 6 - ! SC_CLOSE SC_RESTORE SC_MINIMIZE SC_MAXIMIZE .head 5 - Boolean: pbEnabled .head 4 - Static Variables .head 4 + Local variables .head 5 - Number: lnItemState .head 4 + Actions .head 5 - Set lnItemState =VisNumberChoose(pbEnabled,MF_ENABLED,MF_DISABLED ) .head 5 - Call EnableMenuItem( GetSystemMenu( phWndForm, FALSE ), pnMenuItem, MF_BYCOMMAND | lnItemState ) .head 3 + Function: SalMenuPopup .head 4 - Description: author: tl date: ???? version: 1.02 | for menucolumns 1.01 # for disabled items added 1.00 function implemented desc: Creates a popupmenu of an array A menuseparator is marked by 3 minus A menucolumn is marked by a pipe A disabled item is marked by a hash in front of the text example: Set wsTest[0] = 'Hallo' Set wsTest[1] = '#Iґm disabled' Set wsTest[2] = '---' Set wsTest[3] = 'Hallo' Set wsTest[4] = '|' Set wsTest[5] = '2 column' Select Case SalPopupMenu( wsTest) Case 0 Break Case 1 Break Case 2 Break Case 3 Break .head 4 + Returns .head 5 - Number: .head 4 + Parameters .head 5 - String: lsEntries[*] .head 4 - Static Variables .head 4 + Local variables .head 5 - Window Handle: hWndMenu .head 5 - Number: lnXPos .head 5 - Number: lnYPos .head 5 - Number: lnMax .head 5 - Number: lnIdx .head 5 - Number: lnFlag .head 4 + Actions .head 5 - Set hWndMenu = CreatePopupMenu( ) .head 5 - ! .head 5 - Call SalArrayGetUpperBound( lsEntries, 1, lnMax ) .head 5 + While lnIdx < lnMax + 1 .head 6 - ! .head 6 + If SalStrScan(lsEntries[lnIdx] ,'---') != -1 .head 7 - Set lnFlag = MF_SEPARATOR .head 6 - ! .head 6 + If SalStrScan(lsEntries[lnIdx] ,'|') != -1 .head 7 - Set lnFlag = MF_MENUBARBREAK .head 6 - ! .head 6 + Else .head 7 + If SalStrLeftX( lsEntries[lnIdx] ,1 ) = "#" .head 8 - Set lnFlag = lnFlag | MF_DISABLED | MF_GRAYED .head 8 - Set lsEntries[lnIdx] = SalStrRightX( lsEntries[lnIdx], SalStrLength( lsEntries[lnIdx] ) -1 ) .head 7 - Call InsertMenuA( hWndMenu, 0xFFFFFFFF, lnFlag | MF_BYPOSITION | MF_STRING, lnIdx+1, lsEntries[lnIdx] ) .head 7 - Set lnFlag = 0 .head 6 - ! .head 6 - Set lnIdx = lnIdx + 1 .head 5 - ! .head 5 - ! ! .head 5 - Call GetCursorPos( lnXPos, lnYPos ) .head 5 - Return (TrackPopupMenu(hWndMenu, TPM_LEFTALIGN | TPM_RETURNCMD, lnXPos, lnYPos, 0, hWndForm, STRING_Null ))-1 .head 2 - Named Menus .head 2 - Class Definitions .head 2 + Default Classes .head 3 - MDI Window: cBaseMDI .head 3 - Form Window: .head 3 - Dialog Box: .head 3 - Table Window: .head 3 - Quest Window: .head 3 - Data Field: .head 3 - Spin Field: .head 3 - Multiline Field: .head 3 - Pushbutton: .head 3 - Radio Button: .head 3 - Option Button: .head 3 - Check Box: .head 3 - Child Table: .head 3 - Quest Child Window: cQuickDatabase .head 3 - List Box: .head 3 - Combo Box: .head 3 - Picture: .head 3 - Vertical Scroll Bar: .head 3 - Horizontal Scroll Bar: .head 3 - Column: .head 3 - Background Text: .head 3 - Group Box: .head 3 - Line: .head 3 - Frame: .head 3 - Custom Control: .head 3 - ActiveX: .head 2 - Application Actions
Return to http://gupta.narod.ru/