home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
NEWPM.ZIP
/
WINDOW.NPM
< prev
Wrap
Text File
|
1992-12-02
|
11KB
|
374 lines
; ===========================================================================
; This creates a shell OS/2 PM application using a WINDOW as the main
; window.
;
; This is a template file to be used with the NEWPM.EXE utility.
; ie .. NEWPM project window.npm
; ===========================================================================
; Source Module
{$$.c}
/*===========================================================================
// MODULE DESCRIPTION
//
// Module: {$$prj}.c
// Title: Main Source Module for {$$prj}
// Date: {$$date}
// Author:
// Notes:
//===========================================================================
// MAINTENANCE HISTORY
//
// RR.VVV Date PROJ # Description
// ------ -------- --- ------ ------------------------------------------
// 01.000 {$$date} Original Creation
//===========================================================================
// MODULE NARRATIVE
//
//
//=========================================================================*/
#define INCL_WIN
#define INCL_GPI
#define INCL_DOS
#include <os2.h>
#include "{$$prj}.h"
HAB hab;
HMQ hmq;
QMSG qmsg;
HWND hwndMainFrame;
HWND hwndMainClient;
ULONG flFrameFlags = FCF_STANDARD|FCF_SHELLPOSITION;
/*===========================================================================
// Function: VOID cdecl main(int argc,char **argv)
// Description:
// Inputs:
// Outputs:
// Return Code:
//=========================================================================*/
VOID cdecl main(int argc,char **argv)
{
hab = WinInitialize(0);
hmq = WinCreateMsgQueue(hab, 0);
WinRegisterClass(
hab,
"{$$prj}class",
MainWinProc,
CS_SIZEREDRAW,
0);
hwndMainFrame = WinCreateStdWindow(
HWND_DESKTOP,
WS_VISIBLE | FS_SHELLPOSITION,
&flFrameFlags,
"{$$prj}class",
NULL,
0L,
(HMODULE)0,
ID_RESOURCE,
&hwndMainClient);
if (hwndMainFrame)
{
WinSetWindowPos(hwndMainFrame,HWND_TOP,0,0,0,0,
SWP_ACTIVATE|SWP_SHOW|SWP_ZORDER);
while (WinGetMsg(hab,&qmsg,NULL,0,0))
WinDispatchMsg(hab,&qmsg);
WinDestroyWindow(hwndMainFrame);
}
WinDestroyMsgQueue(hmq);
WinTerminate(hab);
}
/*===========================================================================
// Function: MRESULT EXPENTRY MainWinProc(hwnd,msg,mp1,mp2)
// Description:
// Inputs:
// Outputs:
// Return Code:
//=========================================================================*/
MRESULT EXPENTRY MainWinProc(HWND hwnd,USHORT msg,MPARAM mp1,MPARAM mp2)
{
RECTL rectl;
HPS hps;
USHORT cmd;
switch (msg)
{
case WM_CREATE:
return 0L;
case WM_PAINT:
hps = WinBeginPaint(hwnd,NULL,&rectl);
GpiErase(hps);
WinEndPaint(hps);
return 0L;
case WM_COMMAND:
cmd = SHORT1FROMMP(mp1);
switch (cmd)
{
case IDM_EXIT:
WinPostMsg(hwnd,WM_CLOSE,0L,0L);
return 0L;
case IDM_ABOUT:
WinDlgBox(HWND_DESKTOP,hwnd,0,0,IDD_ABOUT,NULL);
return 0L;
}
}
return (WinDefWindowProc(hwnd, msg, mp1, mp2));
}
{$$end}
; Definition File
{$$.def}
;*===========================================================================
;/ MODULE DESCRIPTION
;/
;/ Module: {$$prj}.def
;/ Title: linker definition file for {$$prj}
;/ Date: {$$date}
;/ Author:
;/ Notes:
;/===========================================================================
;/ MAINTENANCE HISTORY
;/
;/ RR.VVV Date PROJ # Description
;/ ------ -------- --- ------ ------------------------------------------
;/ 01.000 {$$date} Original Creation
;/===========================================================================
;/ MODULE NARRATIVE
;/
;/
;/=========================================================================*/
NAME {$$prj} WINDOWAPI
DESCRIPTION 'PM {$$prj} application'
STACKSIZE 8096
;STUB 'OS2STUB.EXE'
{$$end}
; Dialog Templates
{$$.dlg}
/*===========================================================================
// MODULE DESCRIPTION
//
// Module: {$$prj}.dlg
// Title: Dialog Template file Module for {$$prj}
// Date: {$$date}
// Author:
// Notes:
//===========================================================================
// MAINTENANCE HISTORY
//
// RR.VVV Date PROJ # Description
// ------ -------- --- ------ ------------------------------------------
// 01.000 {$$date} Original Creation
//===========================================================================
// MODULE NARRATIVE
//
//
//=========================================================================*/
DLGTEMPLATE IDD_ABOUT LOADONCALL MOVEABLE DISCARDABLE
BEGIN
DIALOG "About {$$prj}", IDD_ABOUT, 20, 31, 180, 88,
FS_NOBYTEALIGN | FS_DLGBORDER | WS_CLIPSIBLINGS |
WS_SAVEBITS, FCF_TITLEBAR
BEGIN
CTEXT "{$$prj}", -1, 5, 75, 170, 8
CTEXT "{Version x.xx}", -1, 5, 62, 170, 8
CTEXT "Copyright", -1, 5, 46, 170, 8
CTEXT "{Company Name}", -1, 5, 36, 170, 8
CTEXT "All Rights Reserved", -1, 5, 26, 170, 8
DEFPUSHBUTTON "OK", 1, 68, 5, 34, 13
END
END
{$$end}
; Header File
{$$.h}
/*===========================================================================
// MODULE DESCRIPTION
//
// Module: {$$prj}.h
// Title: Header file for {$$prj}
// Date: {$$date}
// Author:
// Notes:
//===========================================================================
// MAINTENANCE HISTORY
//
// RR.VVV Date PROJ # Description
// ------ -------- --- ------ ------------------------------------------
// 01.000 {$$date} Original Creation
//===========================================================================
// MODULE NARRATIVE
//
//
//=========================================================================*/
#define ID_RESOURCE 999
/* Menu ID's */
#define IDM_NEW 1000
#define IDM_OPEN 1001
#define IDM_SAVE 1002
#define IDM_SAVEAS 1003
#define IDM_PRINT 1004
#define IDM_EXIT 1005
#define IDM_UNDO 1006
#define IDM_CUT 1007
#define IDM_COPY 1008
#define IDM_PASTE 1009
#define IDM_CLEAR 1010
#define IDM_ABOUT 1011
/* Dialog ID's */
#define IDD_ABOUT 1500
/* function prototypes */
MRESULT EXPENTRY MainWinProc(HWND,USHORT,MPARAM,MPARAM);
MRESULT EXPENTRY AboutDlgProc(HWND,USHORT,MPARAM,MPARAM);
{$$end}
; Icon Source File
; No source .ico file specifiedm, use default
{$$.ico}
{$$end}
; Link Control File
{$$.lrf}
{$$prj}
{$$prj} /align:16 /CO /NOD
{$$prj} /map
llibcep os2
{$$prj}.def
{$$end}
; Make File
{$$.mak}
#*===========================================================================
#/ MODULE DESCRIPTION
#/
#/ Module: {$$prj}.mak
#/ Title: Make file for {$$prj}
#/ Date: {$$date}
#/ Author:
#/ Notes:
#/===========================================================================
#/ MAINTENANCE HISTORY
#/
#/ RR.VVV Date PROJ # Description
#/ ------ -------- --- ------ ------------------------------------------
#/ 01.000 {$$date} Original Creation
#/===========================================================================
#/ MODULE NARRATIVE
#/
#/
#/=========================================================================*/
cp=cl /c /W4 /G2sw /Od /ALw /Zi
{$$prj}.exe: {$$prj}.obj {$$prj}.res {$$prj}.def
link @{$$prj}.lrf
rc {$$prj}.res
{$$prj}.res: {$$prj}.rc {$$prj}.h {$$prj}.dlg
rc -r {$$prj}.rc
{$$prj}.obj: {$$prj}.c {$$prj}.h
$(cp) {$$prj}.c
{$$end}
; Resource File
{$$.rc}
/*===========================================================================
// MODULE DESCRIPTION
//
// Module: {$$prj}.rc
// Title: Resource file for {$$prj}
// Date: {$$date}
// Author:
// Notes:
//===========================================================================
// MAINTENANCE HISTORY
//
// RR.VVV Date PROJ # Description
// ------ -------- --- ------ ------------------------------------------
// 01.000 {$$date} Original Creation
//===========================================================================
// MODULE NARRATIVE
//
//
//=========================================================================*/
#include <os2.h>
#include "{$$prj}.h"
ICON ID_RESOURCE {$$prj}.ico
MENU ID_RESOURCE
BEGIN
SUBMENU "~File", 2
BEGIN
MENUITEM "~New", IDM_NEW, MIS_TEXT
MENUITEM "~Open...", IDM_OPEN
MENUITEM "~Save", IDM_SAVE
MENUITEM "Save ~As...", IDM_SAVEAS
MENUITEM "~Print", IDM_PRINT
MENUITEM "", IDM_PRINT, MIS_SEPARATOR
MENUITEM "E~xit {$$prj}", IDM_EXIT, MIS_TEXT
END
SUBMENU "~Edit", 3
BEGIN
MENUITEM "~Undo ALT+BKSP", IDM_UNDO,MIS_TEXT,MIA_DISABLED
MENUITEM "", IDM_UNDO,MIS_SEPARATOR
MENUITEM "Cu~t Shift+Del", IDM_CUT,MIS_TEXT,MIA_DISABLED
MENUITEM "~Copy Ctrl+Ins", IDM_COPY,MIS_TEXT,MIA_DISABLED
MENUITEM "~Paste Shift+Ins", IDM_PASTE,MIS_TEXT,MIA_DISABLED
MENUITEM "C~lear Del", IDM_CLEAR,MIS_TEXT,MIA_DISABLED
END
SUBMENU "~Help", 4
BEGIN
MENUITEM "A~bout {$$prj}...", IDM_ABOUT
END
END
ACCELTABLE ID_RESOURCE
BEGIN
VK_F3, IDM_EXIT, VIRTUALKEY, LONEKEY
VK_BACKSPACE, IDM_UNDO, VIRTUALKEY, ALT
VK_DELETE, IDM_CUT, VIRTUALKEY, LONEKEY
VK_INSERT, IDM_COPY, VIRTUALKEY, CONTROL
VK_INSERT, IDM_PASTE, VIRTUALKEY, SHIFT
VK_DELETE, IDM_CLEAR, VIRTUALKEY, SHIFT
END
RCINCLUDE {$$prj}.dlg
{$$end}