Browse Source

+ added the win16api MDI support functions

git-svn-id: trunk@31809 -
nickysn 10 years ago
parent
commit
09b0f516ee
3 changed files with 68 additions and 0 deletions
  1. 10 0
      rtl/win16/win31.pp
  2. 12 0
      rtl/win16/winprocsh.inc
  3. 46 0
      rtl/win16/wintypes.inc

+ 10 - 0
rtl/win16/win31.pp

@@ -606,6 +606,16 @@ type
   TPM_CENTERALIGN = $0004;
   TPM_RIGHTALIGN  = $0008;
 
+{ MDI Support }
+
+{ MDI client style bits }
+  MDIS_ALLCHILDSTYLES = $0001;
+
+{ wParam values for WM_MDITILE and WM_MDICASCADE messages. }
+  MDITILE_VERTICAL     = $0000;
+  MDITILE_HORIZONTAL   = $0001;
+  MDITILE_SKIPDISABLED = $0002;
+
 function GetFreeSystemResources(SysResource: UINT): UINT; external 'USER';
 
 procedure LogError(err: UINT; lpInfo: FarPointer); external 'KERNEL';

+ 12 - 0
rtl/win16/winprocsh.inc

@@ -1148,3 +1148,15 @@ procedure ShowCaret(hwnd: HWND); external 'USER';
 
 function GetCaretBlinkTime: UINT; external 'USER';
 procedure SetCaretBlinkTime(uMSeconds: UINT); external 'USER';
+
+{ MDI Support }
+
+function DefFrameProc(hwnd, hwndMDIClient: HWND; uMsg: UINT; wParam: WPARAM; lParam: LPARAM): LRESULT; external 'USER';
+function DefMDIChildProc(hwnd: HWND; uMsg: UINT; wParam: WPARAM; lParam: LPARAM): LRESULT; external 'USER';
+
+function TranslateMDISysAccel(hwndClient: HWND; lpmsg: LPMSG): BOOL; external 'USER';
+{$ifdef VAR_PARAMS_ARE_FAR}
+function TranslateMDISysAccel(hwndClient: HWND; var msg: MSG): BOOL; external 'USER';
+{$endif}
+
+function ArrangeIconicWindows(hwnd: HWND): UINT; external 'USER';

+ 46 - 0
rtl/win16/wintypes.inc

@@ -2162,3 +2162,49 @@ const
 { Obsolete names }
   SC_ICON = SC_MINIMIZE;
   SC_ZOOM = SC_MAXIMIZE;
+
+{ MDI Support }
+
+type
+{ CreateWindow lpParams structure for creating MDI client }
+  PCLIENTCREATESTRUCT = ^CLIENTCREATESTRUCT;
+  LPCLIENTCREATESTRUCT = ^CLIENTCREATESTRUCT; far;
+  CLIENTCREATESTRUCT = record
+    hWindowMenu: HMENU;
+    idFirstChild: UINT;
+  end;
+  TClientCreateStruct = CLIENTCREATESTRUCT;
+
+const
+{ MDI messages }
+  WM_MDICREATE      = $0220;
+  WM_MDIDESTROY     = $0221;
+  WM_MDIACTIVATE    = $0222;
+  WM_MDIRESTORE     = $0223;
+  WM_MDINEXT        = $0224;
+  WM_MDIMAXIMIZE    = $0225;
+  WM_MDITILE        = $0226;
+  WM_MDICASCADE     = $0227;
+  WM_MDIICONARRANGE = $0228;
+  WM_MDIGETACTIVE   = $0229;
+  WM_MDISETMENU     = $0230;
+
+type
+{ WM_MDICREATE message structure }
+  PMDICREATESTRUCT = ^MDICREATESTRUCT;
+  LPMDICREATESTRUCT = ^MDICREATESTRUCT; far;
+  MDICREATESTRUCT = record
+    szClass: LPCSTR;
+    szTitle: LPCSTR;
+    hOwner: HINST;
+    x: SmallInt;
+    y: SmallInt;
+    cx: SmallInt;
+    cy: SmallInt;
+    style: DWORD;
+    lParam: LPARAM;
+  end;
+  TMDICreateStruct = MDICREATESTRUCT;
+
+const
+  WM_CHILDACTIVATE  = $0022;