Accessing the Interfaces directly

From Free Pascal wiki
Revision as of 23:53, 4 February 2006 by Sekelsenmat (talk | contribs)

This page describes, how to write a new LCL control, using the various LCL interfaces for the platform dependent implementations.

OpenGL is a platform independent language for 3D graphics. The platform dependent part is to get a OpenGL context. Under linux/freebsd/X you use glx for that, under windows you use WGL and under MacOSX you can use AGL.

Every TWinControl has a Handle, and the LCL does not need to know, what a Handle is. The meaning of the Handle is totally up to the LCL interface:

  • under gtk a Handle is often a PGtkWidget
  • under windows a Handle is often a HWnd.
  • under carbon a Handle is often a ControlRef
  • under Qt, a Handle is often a pointer to a Qt object. For example, the Handle of a TCustomButton is a pointer to a QPushButton object.

Be aware, that you should avoid relying on any widgetset specials.