This program demonstrates the use of Funcky's II NotePad Class. There are two difference types of keyboard mapping. One is my own design and the other is a WordPerfect style mapping. The program was designed to let you replace Clipper's MemoEdit() function with very little modification. The difference are the following parameters: The next four parameters are not used. nTxtBuffRow - cursor position within the text nTxtBuffColumn - cursor position within the text nWindowRow - cursor position within the window nWindowColumn - cursor position within the window The parameter cUserFunction, user defined functions, is used differently. This parameter is an array and not a name of a function. In the example below the 1st element is the message to print on the status line. The 2nd and 3rd element are code blocks that are specific to the application. These code blocks can be programmed to override pre-programmed functions in the notepad editor. For example Alt-P is pre-programmed to past text from the scratch pad. You can change this thru this parameter. If you what to set Alt-P to PrtMemo() change K_CTRL_P to K_ALT_P. Example: aadd(aFunc, {"STATUSLINE" , "~F~1=Help"+space(27)+"Ctrl-P=Print"+space(27)+"~F~7=Exit" }) //-- WP5 help status line aadd(aFunc, {K_CTRL_P , {|oEdit| PrtMemo(oEdit:Buffer) }}) //-- print memo aadd(aFunc, {K_ALT_X , {|| Exit() }}) //-- exit system