func CreateWindow(createFlags WindowCreationFlag, rect *Rect, delegate uintptr, delegateParam uintptr, parent C.HWINDOW) C.HWINDOW {
	if rect == nil {
		rect = DefaultRect
	}
	hwnd := C.SciterCreateWindow(
		C.UINT(createFlags),
		(*C.RECT)(unsafe.Pointer(rect)),
		(*C.SciterWindowDelegate)(unsafe.Pointer(delegate)),
		(C.LPVOID)(delegateParam),
		parent)
	if int(uintptr(unsafe.Pointer(hwnd))) == 0 {
		return BAD_HWINDOW
	}
	return hwnd
}
HWINDOW  SciterCreateWindow ( UINT creationFlags,LPRECT frame, SciterWindowDelegate* delegate, LPVOID delegateParam, HWINDOW parent);
Create sciter window.
On Windows returns HWND of either top-level or child window created.
On OS X returns NSView* of either top-level window or child view .

\param[in] creationFlags \b SCITER_CREATE_WINDOW_FLAGS, creation flags.
\param[in] frame \b LPRECT, window frame position and size.
\param[in] delegate \b SciterWindowDelegate, either partial WinProc implementation or thing implementing NSWindowDelegate protocol.
\param[in] delegateParam \b LPVOID, optional param passed to SciterWindowDelegate.
\param[in] parent \b HWINDOW, optional parent window.
rect is the display area
package sciter
import "C"
import (
	"github.com/lxn/win"
	"unsafe"
)
func ProcND(hwnd win.HWND, msg uint, wParam uintptr, lParam uintptr) (ret int, handled bool) {
	var bHandled C.BOOL
	ret = int(C.SciterProcND(C.HWINDOW(unsafe.Pointer(hwnd)), C.UINT(msg), C.WPARAM(wParam), C.LPARAM(lParam), &bHandled))
	if bHandled == 0 {
		handled = false
	} else {
		handled = true
	}
	return
}