home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
NEWPM.ZIP
/
DIALOG.NPM
next >
Wrap
Text File
|
1992-12-02
|
11KB
|
382 lines
; ===========================================================================
; This creates a shell OS/2 PM application using a DIALOG BOX as the main
; window.
;
; This is a template file to be used with the NEWPM.EXE utility.
; ie .. NEWPM project dialog.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 <string.h>
#include "{$$prj}.h"
HAB hab;
HMQ hmq;
QMSG qmsg;
HWND hSwitch;
CHAR title[64] = "{$$prj}";
static HWND AddSwitchEntry(HWND, CHAR *);
/*===========================================================================
// 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);
WinDlgBox(HWND_DESKTOP, HWND_DESKTOP, MainDlgProc, 0, IDD_MAIN, 0);
WinRemoveSwitchEntry(hSwitch);
WinDestroyMsgQueue(hmq);
WinTerminate(hab);
}
/*===========================================================================
// Function: MRESULT EXPENTRY MainDlgProc(hwnd,msg,mp1,mp2)
// Description:
// Inputs:
// Outputs:
// Return Code:
//=========================================================================*/
MRESULT EXPENTRY MainDlgProc(HWND hwnd,USHORT msg,MPARAM mp1,MPARAM mp2)
{
HWND hDlgBoxIcon;
USHORT cmd;
switch (msg)
{
case WM_INITDLG:
WinSetWindowText(hwnd, title);
hSwitch = AddSwitchEntry(hwnd, "{$$prj}");
hDlgBoxIcon = WinLoadPointer(HWND_DESKTOP, 0, ID_ICON);
WinDefDlgProc(hwnd, WM_SETICON, (MPARAM)hDlgBoxIcon, (MPARAM)0);
return 0L;
case WM_COMMAND:
cmd = SHORT1FROMMP(mp1);
switch (cmd)
{
case DID_OK:
WinSetWindowPos(hwnd,0,0,0,0,0,SWP_MINIMIZE);
return 0L;
case DID_CANCEL:
WinDismissDlg(hwnd, FALSE);
return 0L;
return 0L;
}
case WM_ADJUSTWINDOWPOS:
if (((PSWP)mp1)->fs & SWP_MINIMIZE)
WinShowWindow(WinWindowFromID(hwnd, DID_OK), FALSE);
else
if (((PSWP)mp1)->fs & SWP_RESTORE)
WinShowWindow(WinWindowFromID(hwnd, DID_OK), TRUE);
break;
}
return (WinDefDlgProc(hwnd, msg, mp1, mp2));
}
/*===========================================================================
// Function: static HWND AddSwitchEntry(HWND hwnd, CHAR *szTitle)
// Description:
// Inputs:
// Outputs:
// Return Code:
//=========================================================================*/
static HWND AddSwitchEntry(HWND hwnd, CHAR *szTitle)
{
SWCNTRL PgmEntry;
PgmEntry.hwnd = hwnd;
PgmEntry.hwndIcon = NULL;
PgmEntry.hprog = NULL;
PgmEntry.idProcess = 0;
PgmEntry.idSession = 0;
PgmEntry.uchVisibility = SWL_VISIBLE;
PgmEntry.fbJump = SWL_JUMPABLE;
strcpy(PgmEntry.szSwtitle, szTitle);
return WinAddSwitchEntry(&PgmEntry);
}
{$$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_MAIN MOVEABLE DISCARDABLE
BEGIN
DIALOG "", IDD_MAIN, 20, 31, 180, 88,
FS_NOBYTEALIGN | FS_DLGBORDER | WS_CLIPSIBLINGS |
WS_SAVEBITS, FCF_TITLEBAR | FCF_SYSMENU | FCF_MINBUTTON
BEGIN
DEFPUSHBUTTON "OK", DID_OK, 5, 5, 35, 13
PUSHBUTTON "E~xit", DID_CANCEL, 45, 5, 35, 13
END
END
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_MENUBAR 998
#define ID_ICON 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_MAIN 1500
#define IDD_ABOUT 1520
/* function prototypes */
MRESULT EXPENTRY MainDlgProc(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_ICON {$$prj}.ico
MENU ID_MENUBAR
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
RCINCLUDE {$$prj}.dlg
{$$end}