Bladeren bron

+ added the window repainting win16api functions

git-svn-id: trunk@31747 -
nickysn 10 jaren geleden
bovenliggende
commit
24d051703e
3 gewijzigde bestanden met toevoegingen van 68 en 0 verwijderingen
  1. 4 0
      rtl/win16/win31.pp
  2. 25 0
      rtl/win16/winprocsh.inc
  3. 39 0
      rtl/win16/wintypes.inc

+ 4 - 0
rtl/win16/win31.pp

@@ -739,6 +739,10 @@ procedure MapWindowPoints(hwndFrom, hwndTo: HWND; var pt: POINT; cpt: UINT); ext
  }
 function GetDCEx({register} hwnd: HWND; hrgnClip: HRGN; flags: DWORD): HDC; external 'USER';
 
+{ Window repainting }
+function LockWindowUpdate(hwndLock: HWND): BOOL; external 'USER';
+function RedrawWindow(hwnd: HWND; lprcUpdate: LPRECT; hrgnUpdate: HRGN; flags: UINT): BOOL; external 'USER';
+
 implementation
 
 end.

+ 25 - 0
rtl/win16/winprocsh.inc

@@ -938,3 +938,28 @@ function GetDC(hwnd: HWND): HDC; external 'USER';
 function ReleaseDC(hwnd: HWND; hdc: HDC): SmallInt; external 'USER';
 
 function GetWindowDC(hwnd: HWND): HDC; external 'USER';
+
+{ Window repainting }
+
+function BeginPaint(hwnd: HWND; lpps: LPPAINTSTRUCT): HDC; external 'USER';
+procedure EndPaint(hwnd: HWND; lpps: LPPAINTSTRUCT); external 'USER';
+{$ifdef VAR_PARAMS_ARE_FAR}
+function BeginPaint(hwnd: HWND; var ps: PAINTSTRUCT): HDC; external 'USER';
+procedure EndPaint(hwnd: HWND; var ps: PAINTSTRUCT); external 'USER';
+{$endif}
+
+procedure UpdateWindow(hwnd: HWND); external 'USER';
+
+function ExcludeUpdateRgn(hdc: HDC; hwnd: HWND): SmallInt; external 'USER';
+
+function GetUpdateRect(hwnd: HWND; lprc: LPRECT; fErase: BOOL): BOOL; external 'USER';
+{$ifdef VAR_PARAMS_ARE_FAR}
+function GetUpdateRect(hwnd: HWND; var rc: RECT; fErase: BOOL): BOOL; external 'USER';
+{$endif}
+function GetUpdateRgn(hwnd: HWND; hrgn: HRGN; fErase: BOOL): SmallInt; external 'USER';
+
+procedure InvalidateRect(hwnd: HWND; lprc: LPRECT; fErase: BOOL); external 'USER';
+procedure ValidateRect(hwnd: HWND; lprc: LPRECT); external 'USER';
+
+procedure InvalidateRgn(hwnd: HWND; hrgn: HRGN; fErase: BOOL); external 'USER';
+procedure ValidateRgn(hwnd: HWND; hrgn: HRGN); external 'USER';

+ 39 - 0
rtl/win16/wintypes.inc

@@ -1634,3 +1634,42 @@ const
 type
 { Window property support }
   PROPENUMPROC = function(hwnd: HWND; lpsz: LPCSTR; hData: HANDLE): BOOL; far;
+
+const
+{ Window repainting }
+  WM_PAINT          = $000F;
+  WM_ERASEBKGND     = $0014;
+  WM_ICONERASEBKGND = $0027;
+
+type
+{ BeginPaint() return structure }
+  PPAINTSTRUCT = ^PAINTSTRUCT;
+  NPPAINTSTRUCT = ^PAINTSTRUCT; near;
+  LPPAINTSTRUCT = ^PAINTSTRUCT; far;
+  PAINTSTRUCT = record
+    hdc: HDC;
+    fErase: BOOL;
+    rcPaint: RECT;
+    fRestore: BOOL;
+    fIncUpdate: BOOL;
+    rgbReserved: array [0..15] of BYTE;
+  end;
+  TPaintStruct = PAINTSTRUCT;
+
+const
+  RDW_INVALIDATE      = $0001;
+  RDW_INTERNALPAINT   = $0002;
+  RDW_ERASE           = $0004;
+
+  RDW_VALIDATE        = $0008;
+  RDW_NOINTERNALPAINT = $0010;
+  RDW_NOERASE         = $0020;
+
+  RDW_NOCHILDREN      = $0040;
+  RDW_ALLCHILDREN     = $0080;
+
+  RDW_UPDATENOW       = $0100;
+  RDW_ERASENOW        = $0200;
+
+  RDW_FRAME           = $0400;
+  RDW_NOFRAME         = $0800;