//editex1.cc

#include <windows.h>
#include "editex1.h"

#define BUFFER_SIZE 256

BOOL CALLBACK EditDlgProc( HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam)
{
  char szText[BUFFER_SIZE];

  switch (Message)
   { case WM_INITDIALOG:
      SendDlgItemMessage(hwnd, IDC_EDITDLG_TEXT, EM_SETLIMITTEXT,
                         (WPARAM) BUFFER_SIZE - 1, (LPARAM) 0);
      return TRUE;
     case WM_COMMAND:
      switch (LOWORD(wParam))
       { case IDC_EDITDLG_SETTEXT:
          GetDlgItemText(hwnd, IDC_EDITDLG_TEXT, szText, BUFFER_SIZE);
          SetWindowText(hwnd, szText);
          return TRUE;
         case IDCANCEL:
          EndDialog(hwnd, IDCANCEL);
          return TRUE; 
       }   
      break; 
   }
  return FALSE;
}

int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
                   LPSTR lpCmdLine, int nCmdShow)
{
  DialogBox(hInstance, "EDITDLG", 0, EditDlgProc);
  return 0;
}

#define IDC_EDITDLG_TEXT	   8000
#define IDC_EDITDLG_SETTEXT	8010


#include <windows.h>
#include "editex1.h"

EDITDLG DIALOG 0,0,149,49
STYLE DS_MODALFRAME | DS_3DLOOK | DS_CENTER | 0x200L | WS_POPUP | \
      WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "A Window"
FONT 8, "Arial"
BEGIN

 CONTROL "", IDC_EDITDLG_TEXT, "edit", \
         ES_LEFT | ES_AUTOHSCROLL | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, \
         3, 8, 139, 12

 CONTROL "&Set text", IDC_EDITDLG_SETTEXT, "button", \
         BS_DEFPUSHBUTTON | BS_CENTER | WS_CHILD | WS_VISIBLE | WS_TABSTOP, \
         6, 28, 50, 14

 CONTROL "&Close", IDCANCEL, "button", \
         BS_PUSHBUTTON | BS_CENTER | WS_CHILD | WS_VISIBLE | WS_TABSTOP, \
         92, 28, 50, 14 
END



OBJECTS = editex1.o editex1res.o
RESCOMP = windres.exe
CC = g++

editex1: $(OBJECTS)
	$(CC) -o editex1 ${OBJECTS} -mwindows

editex1.o: editex1.h

editex1res.o: editex1res.rc editex1.h
	$(RESCOMP) editex1res.rc editex1res.o

.PHONY : clean

clean:
	echo cleaning up
	rm $(OBJECTS)
	rm *.$$$$$$