lazarus/lcl/lcllinux.pp
lazarus b63fd4b108 Started the code completion.
Shane

git-svn-id: trunk@162 -
2001-02-01 16:45:20 +00:00

1610 lines
37 KiB
ObjectPascal

{ $Id$ }
{
/***************************************************************************
LCLLinux.pp
-------------------
Component Library Windows Controls
Initial Revision : Fri Jul 23 20:00:00 PDT 1999
***************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
}
{
@author(Curtis White <cwhite@aracnet.com>)
@created(17-Oct-1999)
@lastmod(17-Oct-1999)
This unit is being created specifically for compatibility with Delphi. It
should only be used for constants and type definitions that are included in
the Delphi Windows unit. This is only done for compatibiltiy.
}
unit LCLLinux;
{$mode objfpc}
interface
uses VCLGlobals,Classes;
{$ifdef Trace}
{$ASSERTIONS ON}
{$endif}
type
//TODO: check this against vclglobals
PLongInt = ^LongInt;
PInteger = ^Integer;
PSmallInt = ^SmallInt;
PDouble = ^Double;
PRect = ^TRect;
PANSICHAR = ^AnsiChar;
PWideChar = ^WideChar;
UINT = LongWord;
{ Provided for compatibility with Windows registry ONLY }
HKEY = Integer;
PHKEY = ^HKEY;
HDC = type LongWord;
HHOOK = type LongWord;
HFONT = type LongWord;
HGDIOBJ = type LongWord;
HPEN = type LongWord;
HRGN = type Longword;
HINST = type LongWord;
HICON = type LongWord;
HCURSOR = HICON;
Bool = LongBool;
pByte = ^byte;
HGLOBAL = THAndle;
var
hInstance :HINST;
type
TKeyBoardState = array[0..255] of byte;
PABC = ^TABC;
_ABC = packed record
abcA: Integer;
abcB: UINT;
abcC: Integer;
end;
TABC = _ABC;
const
ETO_OPAQUE = 2;
ETO_CLIPPED = 4;
CS_VREDRAW = dword(1);
CS_HREDRAW = dword(2);
//==============================================
// Draw frame constants
//==============================================
//------------
// Draw frame control flags
//------------
dfc_Caption = $01;
dfc_Menu = $02;
dfc_Scroll = $03;
dfc_Button = $04;
//------------
// Draw frame control Styles
//------------
DFCS_BUTTONCHECK = 0;
DFCS_BUTTONRADIOIMAGE = 1;
DFCS_BUTTONRADIOMASK = 2;
DFCS_BUTTONRADIO = 4;
DFCS_BUTTON3STATE = 8;
DFCS_BUTTONPUSH = 16;
DFCS_CAPTIONCLOSE = 0;
DFCS_CAPTIONMIN = 1;
DFCS_CAPTIONMAX = 2;
DFCS_CAPTIONRESTORE = 3;
DFCS_CAPTIONHELP = 4;
DFCS_MENUARROW = 0;
DFCS_MENUCHECK = 1;
DFCS_MENUBULLET = 2;
DFCS_SCROLLDOWN = 1;
DFCS_SCROLLLEFT = 2;
DFCS_SCROLLRIGHT = 3;
DFCS_SCROLLCOMBOBOX = 5;
DFCS_SCROLLSIZEGRIP = 8;
DFCS_SCROLLUP = 0;
DFCS_ADJUSTRECT = 8192;
DFCS_CHECKED = 1024;
DFCS_FLAT = 16384;
DFCS_INACTIVE = 256;
DFCS_MONO = 32768;
DFCS_PUSHED = 512;
//==============================================
// Registry constants
//==============================================
{ Provided for compatibility with Windows registry ONLY }
HKEY_CLASSES_ROOT = $80000000;
HKEY_CURRENT_USER = $80000001;
HKEY_LOCAL_MACHINE = $80000002;
HKEY_USERS = $80000003;
HKEY_PERFORMANCE_DATA = $80000004;
HKEY_CURRENT_CONFIG = $80000005;
HKEY_DYN_DATA = $80000006;
HTERROR = -2;
HTTRANSPARENT = -1;
HTNOWHERE = 0;
HTCLIENT = 1;
HTCAPTION = 2;
MSGF_DIALOGBOX = 0;
MSGF_MESSAGEBOX = 1;
MSGF_MENU = 2;
MSGF_MOVE = 3;
MSGF_SIZE = 4;
MSGF_SCROLLBAR = 5;
MSGF_NEXTWINDOW = 6;
//PEEKMESSAGE stuff
PM_Noremove = 0;
PM_Remove = 1;
//==============================================
// Font constants
//==============================================
//------------
// KeyFlags (High word part !!!)
//------------
KF_EXTENDED = $100;
KF_DLGMODE = $800;
KF_MENUMODE = $1000;
KF_ALTDOWN = $2000;
KF_REPEAT = $4000;
KF_UP = $8000;
//-------------
// Virtual keys
//-------------
VK_UNKNOWN = 0; // defined by LCL
VK_LBUTTON = 1;
VK_RBUTTON = 2;
VK_CANCEL = 3;
VK_MBUTTON = 4;
VK_BACK = 8;
VK_TAB = 9;
VK_CLEAR = 12;
VK_RETURN = 13;
VK_SHIFT = 16;
VK_CONTROL = 17;
VK_MENU = 18;
VK_PAUSE = 19;
VK_CAPITAL = 20;
VK_KANA = 21;
VK_HANGUL = 21;
VK_JUNJA = 23;
VK_FINAL = 24;
VK_HANJA = 25;
VK_KANJI = 25;
VK_ESCAPE = 27;
VK_CONVERT = 28;
VK_NONCONVERT = 29;
VK_ACCEPT = 30;
VK_MODECHANGE = 31;
VK_SPACE = 32;
VK_PRIOR = 33;
VK_NEXT = 34;
VK_END = 35;
VK_HOME = 36;
VK_LEFT = 37;
VK_UP = 38;
VK_RIGHT = 39;
VK_DOWN = 40;
VK_SELECT = 41;
VK_PRINT = 42;
VK_EXECUTE = 43;
VK_SNAPSHOT = 44;
VK_INSERT = 45;
VK_DELETE = 46;
VK_HELP = 47;
VK_0 = $30;
VK_1 = $31;
VK_2 = $32;
VK_3 = $33;
VK_4 = $34;
VK_5 = $35;
VK_6 = $36;
VK_7 = $37;
VK_8 = $38;
VK_9 = $39;
//3A-40 Undefined
VK_A = $41;
VK_B = $42;
VK_C = $43;
VK_D = $44;
VK_E = $45;
VK_F = $46;
VK_G = $47;
VK_H = $48;
VK_I = $49;
VK_J = $4A;
VK_K = $4B;
VK_L = $4C;
VK_M = $4D;
VK_N = $4E;
VK_O = $4F;
VK_P = $50;
VK_Q = $51;
VK_R = $52;
VK_S = $53;
VK_T = $54;
VK_U = $55;
VK_V = $56;
VK_W = $57;
VK_X = $58;
VK_Y = $59;
VK_Z = $5A;
VK_LWIN = 91;
VK_RWIN = 92;
VK_APPS = 93;
VK_NUMPAD0 = 96;
VK_NUMPAD1 = 97;
VK_NUMPAD2 = 98;
VK_NUMPAD3 = 99;
VK_NUMPAD4 = 100;
VK_NUMPAD5 = 101;
VK_NUMPAD6 = 102;
VK_NUMPAD7 = 103;
VK_NUMPAD8 = 104;
VK_NUMPAD9 = 105;
VK_MULTIPLY = 106;
VK_ADD = 107;
VK_SEPARATOR = 108;
VK_SUBTRACT = 109;
VK_DECIMAL = 110;
VK_DIVIDE = 111;
VK_F1 = 112;
VK_F2 = 113;
VK_F3 = 114;
VK_F4 = 115;
VK_F5 = 116;
VK_F6 = 117;
VK_F7 = 118;
VK_F8 = 119;
VK_F9 = 120;
VK_F10 = 121;
VK_F11 = 122;
VK_F12 = 123;
VK_F13 = 124;
VK_F14 = 125;
VK_F15 = 126;
VK_F16 = 127;
VK_F17 = 128;
VK_F18 = 129;
VK_F19 = 130;
VK_F20 = 131;
VK_F21 = 132;
VK_F22 = 133;
VK_F23 = 134;
VK_F24 = 135;
VK_NUMLOCK = 144;
VK_SCROLL = 145;
// VK_L & VK_R - left and right Alt, Ctrl and Shift virtual keys.
// Used only as parameters to GetAsyncKeyState() and GetKeyState().
// No other API or message will distinguish left and right keys in this way
VK_LSHIFT = 160;
VK_RSHIFT = 161;
VK_LCONTROL = 162;
VK_RCONTROL = 163;
VK_LMENU = 164;
VK_RMENU = 165;
VK_PROCESSKEY = 229;
VK_ATTN = 246;
VK_CRSEL = 247;
VK_EXSEL = 248;
VK_EREOF = 249;
VK_PLAY = 250;
VK_ZOOM = 251;
VK_NONAME = 252;
VK_PA1 = 253;
VK_OEM_CLEAR = 254;
const
{ 3D border styles }
BDR_RAISEDOUTER = 1;
BDR_SUNKENOUTER = 2;
BDR_RAISEDINNER = 4;
BDR_SUNKENINNER = 8;
BDR_OUTER = 3;
BDR_INNER = 12;
BDR_RAISED = 5;
BDR_SUNKEN = 10;
EDGE_BUMP = (BDR_RAISEDOUTER or BDR_SUNKENINNER);
EDGE_ETCHED = (BDR_SUNKENOUTER or BDR_RAISEDINNER);
EDGE_RAISED = (BDR_RAISEDOUTER or BDR_RAISEDINNER);
EDGE_SUNKEN = (BDR_SUNKENOUTER or BDR_SUNKENINNER);
{ Border flags }
BF_LEFT = 1;
BF_TOP = 2;
BF_RIGHT = 4;
BF_BOTTOM = 8;
BF_TOPLEFT = (BF_TOP or BF_LEFT);
BF_TOPRIGHT = (BF_TOP or BF_RIGHT);
BF_BOTTOMLEFT = (BF_BOTTOM or BF_LEFT);
BF_BOTTOMRIGHT = (BF_BOTTOM or BF_RIGHT);
BF_RECT = (BF_LEFT or BF_TOP or BF_RIGHT or BF_BOTTOM);
BF_DIAGONAL = $10;
BF_DIAGONAL_ENDTOPRIGHT = (BF_DIAGONAL or BF_TOP or BF_RIGHT);
BF_DIAGONAL_ENDTOPLEFT = (BF_DIAGONAL or BF_TOP or BF_LEFT);
BF_DIAGONAL_ENDBOTTOMLEFT = (BF_DIAGONAL or BF_BOTTOM or BF_LEFT);
BF_DIAGONAL_ENDBOTTOMRIGHT = (BF_DIAGONAL or BF_BOTTOM or BF_RIGHT);
BF_MIDDLE = $800; { Fill in the middle }
BF_SOFT = $1000; { For softer buttons. Not sure what the use is for this }
BF_ADJUST = $2000; { Calculate the space left over }
BF_FLAT = $4000; { For flat rather than 3D borders }
BF_MONO = $8000; { For monochrome borders }
{Dialog codes}
DLGC_WANTARROWS = 1;
DLGC_WANTTAB = 2;
DLGC_WANTALLKEYS = 4;
DLGC_WANTCHARS = $80;
{owner drawn constants}
ODT_MENU = 1;
ODT_LISTBOX = 2;
ODT_COMBOBOX = 3;
ODT_BUTTON = 4;
ODT_STATIC = 5;
GWL_WNDPROC = -4;
GWL_HINSTANCE = -6;
GWL_HWNDPARENT = -8;
GWL_STYLE = -16;
GWL_EXSTYLE = -20;
GWL_USERDATA = -21;
GWL_ID = -12;
MB_OK = $00000000;
MB_OKCANCEL = $00000001;
MB_ABORTRETRYIGNORE = $00000002;
MB_YESNOCANCEL = $00000003;
MB_YESNO = $00000004;
MB_RETRYCANCEL = $00000005;
IDOK = 1; ID_OK = IDOK;
IDCANCEL = 2; ID_CANCEL = IDCANCEL;
IDABORT = 3; ID_ABORT = IDABORT;
IDRETRY = 4; ID_RETRY = IDRETRY;
IDIGNORE = 5; ID_IGNORE = IDIGNORE;
IDYES = 6; ID_YES = IDYES;
IDNO = 7; ID_NO = IDNO;
IDCLOSE = 8; ID_CLOSE = IDCLOSE;
IDHELP = 9; ID_HELP = IDHELP;
MB_DEFBUTTON1 = $00000000;
MB_DEFBUTTON2 = $00000100;
MB_DEFBUTTON3 = $00000200;
MB_DEFBUTTON4 = $00000300;
{Region Flags}
Error = 0;
NullRegion = 1;
SimpleRegion = 2;
ComplexRegion = 3;
Region_Error = Error;
{Scroll bar stuff}
SB_Horz = 0;
SB_Vert = 1;
SB_CTL = 2;
SB_BOTH = 3;
{Scroll Bar Commands}
SB_LINEUP = 0;
SB_LINELEFT = 0;
SB_LINEDOWN = 1;
SB_LINERIGHT = 1;
SB_PAGEUP = 2;
SB_PAGELEFT = 2;
SB_PAGEDOWN = 3;
SB_PAGERIGHT = 3;
SB_THUMBPOSITION = 4;
SB_THUMBTRACK = 5;
SB_TOP = 6;
SB_LEFT = 6;
SB_BOTTOM = 7;
SB_RIGHT = 7;
SB_ENDSCROLL = 8;
SBS_HORZ = 0;
SBS_VERT = 1;
SBS_TOPALIGN = 2;
SBS_LEFTALIGN = 2;
SBS_BOTTOMALIGN = 4;
SBS_RIGHTALIGN = 4;
SBS_SIZEBOXTOPLEFTALIGN = 2;
SBS_SIZEBOXBOTTOMRIGHTALIGN = 4;
SBS_SIZEBOX = 8;
SBS_SIZEGRIP = $10;
SIF_Range = 1;
SIF_PAGE = 2;
SIF_POS = 4;
SIF_DISABLENOSCROLL = 8;
SIF_TRACKPOS = 100;
SIF_ALL = (SIF_RANGE or SIF_PAGE or SIF_POS or SIF_TRACKPOS);
SWP_NOSIZE = 1;
SWP_NOMOVE = 2;
SWP_NOZORDER = 3;
SWP_NOREDRAW = 4;
SWP_NOACTIVATE = 5;
{ WMSIZE MEssage Constants}
Size_Restored = 0;
Size_Minimized = 1;
Size_Maximized = 2;
Size_MaxShow = 3;
Size_MaxHide = 4;
SIZENORMAL = Size_Restored;
SIZEICONIC = Size_Minimized;
SIZEFULLSCREEN = Size_Maximized;
SIZEZOOMSHOW = Size_MaxShow;
SIZEZOOMHIDE = Size_MaxHide;
{ Window Styles }
WS_OVERLAPPED = 0;
WS_POPUP = DWORD($80000000);
WS_CHILD = $40000000;
WS_MINIMIZE = $20000000;
WS_VISIBLE = $10000000;
WS_DISABLED = $8000000;
WS_CLIPSIBLINGS = $4000000;
WS_CLIPCHILDREN = $2000000;
WS_MAXIMIZE = $1000000;
WS_CAPTION = $C00000; { WS_BORDER or WS_DLGFRAME }
WS_BORDER = $800000;
WS_DLGFRAME = $400000;
WS_VSCROLL = $200000;
WS_HSCROLL = $100000;
WS_SYSMENU = $80000;
WS_THICKFRAME = $40000;
WS_GROUP = $20000;
WS_TABSTOP = $10000;
WS_MINIMIZEBOX = $20000;
WS_MAXIMIZEBOX = $10000;
WS_TILED = WS_OVERLAPPED;
WS_ICONIC = WS_MINIMIZE;
WS_SIZEBOX = WS_THICKFRAME;
{ Common Window Styles }
WS_OVERLAPPEDWINDOW = (WS_OVERLAPPED or WS_CAPTION or WS_SYSMENU or WS_THICKFRAME or WS_MINIMIZEBOX or WS_MAXIMIZEBOX);
WS_TILEDWINDOW = WS_OVERLAPPEDWINDOW;
WS_POPUPWINDOW = (WS_POPUP or WS_BORDER or WS_SYSMENU);
WS_CHILDWINDOW = (WS_CHILD);
{ Extended Window Styles }
WS_EX_DLGMODALFRAME = 1;
WS_EX_NOPARENTNOTIFY = 4;
WS_EX_TOPMOST = 8;
WS_EX_ACCEPTFILES = $10;
WS_EX_TRANSPARENT = $20;
WS_EX_MDICHILD = $40;
WS_EX_TOOLWINDOW = $80;
WS_EX_WINDOWEDGE = $100;
WS_EX_CLIENTEDGE = $200;
WS_EX_CONTEXTHELP = $400;
WS_EX_RIGHT = $1000;
WS_EX_LEFT = 0;
WS_EX_RTLREADING = $2000;
WS_EX_LTRREADING = 0;
WS_EX_LEFTSCROLLBAR = $4000;
WS_EX_RIGHTSCROLLBAR = 0;
WS_EX_CONTROLPARENT = $10000;
WS_EX_STATICEDGE = $20000;
WS_EX_APPWINDOW = $40000;
WS_EX_OVERLAPPEDWINDOW = (WS_EX_WINDOWEDGE or WS_EX_CLIENTEDGE);
WS_EX_PALETTEWINDOW = (WS_EX_WINDOWEDGE or WS_EX_TOOLWINDOW or WS_EX_TOPMOST);
type
PNMHdr = ^TNMHdr;
tagNMHDR = packed record
hwndFrom: HWND;
idFrom: UINT;
code: Integer;
end;
TNMHdr = tagNMHDR;
NMHDR = tagNMHDR;
PDrawItemStruct = ^TDrawItemStruct;
tagDrawItemStruct = packed record
ctlType: UINT;
ctlID : UINT;
itemID : UINT;
itemAction : UINT;
itemState : UINT;
hwndItem: HWND;
_hDc: HDC;
rcItem: TRect;
itemData : DWord;
end;
TDrawItemStruct = tagDrawItemStruct;
DrawItemStruct = tagDrawItemStruct;
{painting stuff}
PPaintStruct = ^TPaintStruct;
tagPAINTSTRUCT = packed record
hdc: HDC;
fErase: Boolean;
rcPaint: TRect;
fRestore: Boolean;
fIncUpdate: Boolean;
rgbReserved: array[0..31] of Byte;
end;
TPaintStruct = tagPAINTSTRUCT;
PAINTSTRUCT = tagPAINTSTRUCT;
PWindowPos = ^TWIndowPos;
tagWindowPos = packed record
_hwnd : HWND;
hwndInsertAfter: HWND;
x : Integer;
y : Integer;
cx : Integer;
cy : Integer;
flags: UINT;
end;
TWindowPos = tagWindowPos;
WindowPos = tagWindowPos;
PPoint = ^TPoint;
tagScrollInfo = packed record
cbSize : UINT;
fMask : UINT;
nMin: Integer;
nMax: Integer;
nPage: UInt;
npos: Integer;
nTrackPos: Integer;
end;
PScrollInfo = ^TScrollInfo;
TScrollInfo = tagScrollinfo;
PSize = ^TSize;
tagSIZE = record
cx: Longint;
cy: Longint;
end;
TSize = tagSIZE;
SIZE = tagSIZE;
{ Bitmap Header Definition }
PBitmap = ^TBitmap;
tagBITMAP = packed record
bmType: Longint;
bmWidth: Longint;
bmHeight: Longint;
bmWidthBytes: Longint;
bmPlanes: Word;
bmBitsPixel: Word;
bmBits: Pointer;
end;
TBitmap = tagBITMAP;
BITMAP = tagBITMAP;
{ ********************************** }
{ B I T M A P S T U F F }
PBitmapFileHeader = ^TBitmapFileHeader;
tagBITMAPFILEHEADER = packed record
bfType: Word;
bfSize: DWORD;
bfReserved1: Word;
bfReserved2: Word;
bfOffBits: DWORD;
end;
TBitmapFileHeader = tagBITMAPFILEHEADER;
BITMAPFILEHEADER = tagBITMAPFILEHEADER;
PDIBSection = ^TDIBSection;
tagDIBSECTION = packed record
dsBm: TBitmap;
dsBmih: pointer;//TBitmapInfoHeader;
dsBitfields: array[0..2] of DWORD;
dshSection: THandle;
dsOffset: DWORD;
end;
TDIBSection = tagDIBSECTION;
DIBSECTION = tagDIBSECTION;
const
TRUETYPE_FONTTYPE = 4;
GCP_DBCS = 1;
//==============================================
// Background Modes
//==============================================
TRANSPARENT = 1;
OPAQUE = 2;
BKMODE_LAST = 2;
//==============================================
// Font constants
//==============================================
//------------
// Font Styles
//------------
LF_FULLFACESIZE = 64;
LF_FACESIZE = 32;
OUT_DEFAULT_PRECIS = 0;
OUT_STRING_PRECIS = 1;
OUT_CHARACTER_PRECIS = 2;
OUT_STROKE_PRECIS = 3;
OUT_TT_PRECIS = 4;
OUT_DEVICE_PRECIS = 5;
OUT_RASTER_PRECIS = 6;
OUT_TT_ONLY_PRECIS = 7;
OUT_OUTLINE_PRECIS = 8;
OUT_SCREEN_OUTLINE_PRECIS = 9;
CLIP_DEFAULT_PRECIS = 0;
CLIP_CHARACTER_PRECIS = 1;
CLIP_STROKE_PRECIS = 2;
CLIP_MASK = 15;
CLIP_LH_ANGLES = (1 shl 4);
CLIP_TT_ALWAYS = (2 shl 4);
CLIP_EMBEDDED = (8 shl 4);
DEFAULT_QUALITY = 0;
DRAFT_QUALITY = 1;
PROOF_QUALITY = 2;
NONANTIALIASED_QUALITY = 3;
ANTIALIASED_QUALITY = 4;
DEFAULT_PITCH = 0;
FIXED_PITCH = 1;
VARIABLE_PITCH = 2;
MONO_FONT = 8;
ANSI_CHARSET = 0;
DEFAULT_CHARSET = 1;
SYMBOL_CHARSET = 2;
SHIFTJIS_CHARSET = $80;
HANGEUL_CHARSET = 129;
GB2312_CHARSET = 134;
CHINESEBIG5_CHARSET = 136;
OEM_CHARSET = 255;
JOHAB_CHARSET = 130;
HEBREW_CHARSET = 177;
ARABIC_CHARSET = 178;
GREEK_CHARSET = 161;
TURKISH_CHARSET = 162;
VIETNAMESE_CHARSET = 163;
THAI_CHARSET = 222;
EASTEUROPE_CHARSET = 238;
RUSSIAN_CHARSET = 204;
MAC_CHARSET = 77;
BALTIC_CHARSET = 186;
//-----------
// Font Sets
//-----------
FS_LATIN1 = 1;
FS_LATIN2 = 2;
FS_CYRILLIC = 4;
FS_GREEK = 8;
FS_TURKISH = $10;
FS_HEBREW = $20;
FS_ARABIC = $40;
FS_BALTIC = $80;
FS_VIETNAMESE = $00000100;
FS_THAI = $10000;
FS_JISJAPAN = $20000;
FS_CHINESESIMP = $40000;
FS_WANSUNG = $80000;
FS_CHINESETRAD = $100000;
FS_JOHAB = $200000;
FS_SYMBOL = DWORD($80000000);
//---------------
// Font Families
//---------------
FF_DONTCARE = (0 shl 4);
FF_ROMAN = (1 shl 4);
FF_SWISS = (2 shl 4);
FF_MODERN = (3 shl 4);
FF_SCRIPT = (4 shl 4);
FF_DECORATIVE = (5 shl 4);
//--------------
// Font Weights
//--------------
FW_DONTCARE = 0;
FW_THIN = 100;
FW_EXTRALIGHT = 200;
FW_LIGHT = 300;
FW_NORMAL = 400;
FW_MEDIUM = 500;
FW_SEMIBOLD = 600;
FW_BOLD = 700;
FW_EXTRABOLD = 800;
FW_HEAVY = 900;
FW_ULTRALIGHT = FW_EXTRALIGHT;
FW_REGULAR = FW_NORMAL;
FW_DEMIBOLD = FW_SEMIBOLD;
FW_ULTRABOLD = FW_EXTRABOLD;
FW_BLACK = FW_HEAVY;
//==============================================
// Brush constants
//==============================================
//--------------
// Brush Styles
//--------------
BS_SOLID = 0;
BS_NULL = 1;
BS_HOLLOW = BS_NULL;
BS_HATCHED = 2;
BS_PATTERN = 3;
BS_INDEXED = 4;
BS_DIBPATTERN = 5;
BS_DIBPATTERNPT = 6;
BS_PATTERN8X8 = 7;
BS_DIBPATTERN8X8 = 8;
BS_MONOPATTERN = 9;
//--------------
// Hatch Styles
//--------------
HS_HORIZONTAL = 0; { ----- }
HS_VERTICAL = 1; { ||||| }
HS_FDIAGONAL = 2; { ///// }
HS_BDIAGONAL = 3; { \\\\\ }
HS_CROSS = 4; { +++++ }
HS_DIAGCROSS = 5; { xxxxx }
//==============================================
// Pen constants
//==============================================
//------------
// Pen Styles
//------------
PS_SOLID = 0;
PS_DASH = 1; { ------- }
PS_DOT = 2; { ....... }
PS_DASHDOT = 3; { _._._._ }
PS_DASHDOTDOT = 4; { _.._.._ }
PS_NULL = 5;
PS_INSIDEFRAME = 6;
PS_USERSTYLE = 7;
PS_ALTERNATE = 8;
PS_STYLE_MASK = 15;
PS_ENDCAP_ROUND = 0;
PS_ENDCAP_SQUARE = $100;
PS_ENDCAP_FLAT = $200;
PS_ENDCAP_MASK = 3840;
PS_JOIN_ROUND = 0;
PS_JOIN_BEVEL = $1000;
PS_JOIN_MITER = $2000;
PS_JOIN_MASK = 61440;
PS_COSMETIC = 0;
PS_GEOMETRIC = $10000;
PS_TYPE_MASK = $F0000;
//==============================================
// Color constants
//==============================================
CLR_INVALID = LongWord($FFFFFFFF);
//==============================================
// API system Color constants pbd
// note these are usually shown ORed with
// $80000000 as these would have interfered with
// other MS color enumerations
// GetSysColor and SetSysColor expects the values
// below
//==============================================
COLOR_SCROLLBAR = 0;
COLOR_BACKGROUND = 1;
COLOR_ACTIVECAPTION = 2;
COLOR_INACTIVECAPTION = 3;
COLOR_MENU = 4;
COLOR_WINDOW = 5;
COLOR_WINDOWFRAME = 6;
COLOR_MENUTEXT = 7;
COLOR_WINDOWTEXT = 8;
COLOR_CAPTIONTEXT = 9;
COLOR_ACTIVEBORDER = 10;
COLOR_INACTIVEBORDER = 11;
COLOR_APPWORKSPACE = 12;
COLOR_HIGHLIGHT = 13;
COLOR_HIGHLIGHTTEXT = 14;
COLOR_BTNFACE = 15;
COLOR_BTNSHADOW = 16;
COLOR_GRAYTEXT = 17;
COLOR_BTNTEXT = 18;
COLOR_INACTIVECAPTIONTEXT = 19;
COLOR_BTNHIGHLIGHT = 20;
COLOR_3DDKSHADOW = 21;
COLOR_3DLIGHT = 22;
COLOR_INFOTEXT = 23;
COLOR_INFOBK = 24;
// PBD: 25 is unassigned in all the docs I can find
// if someone finds what this is supposed to be then fill it in
// note defaults below, and cl[ColorConst] in graphics
COLOR_HOTLIGHT = 26;
COLOR_GRADIENTACTIVECAPTION = 27;
COLOR_GRADIENTINACTIVECAPTION = 28;
COLOR_ENDCOLORS = COLOR_GRADIENTINACTIVECAPTION;
COLOR_DESKTOP = COLOR_BACKGROUND;
COLOR_3DFACE = COLOR_BTNFACE;
COLOR_3DSHADOW = COLOR_BTNSHADOW;
COLOR_3DHIGHLIGHT = COLOR_BTNHIGHLIGHT;
COLOR_3DHILIGHT = COLOR_BTNHIGHLIGHT;
COLOR_BTNHILIGHT = COLOR_BTNHIGHLIGHT;
MAX_SYS_COLORS = COLOR_GRADIENTINACTIVECAPTION;
SYS_COLOR_BASE = $80000000;
//==============================================
// Stock Objects
//==============================================
WHITE_BRUSH = 0;
LTGRAY_BRUSH = 1;
GRAY_BRUSH = 2;
DKGRAY_BRUSH = 3;
BLACK_BRUSH = 4;
NULL_BRUSH = 5;
HOLLOW_BRUSH = NULL_BRUSH;
WHITE_PEN = 6;
BLACK_PEN = 7;
NULL_PEN = 8;
OEM_FIXED_FONT = 10;
ANSI_FIXED_FONT = 11;
ANSI_VAR_FONT = 12;
SYSTEM_FONT = 13;
DEVICE_DEFAULT_FONT = 14;
DEFAULT_PALETTE = 15;
SYSTEM_FIXED_FONT = 16;
DEFAULT_GUI_FONT = 17;
DC_BRUSH = 18;
DC_PEN = 19;
STOCK_LAST = 19;
//==============================================
// SystemMetrics constants
//==============================================
SM_CXSCREEN = 0;
SM_CYSCREEN = 1;
SM_CXVSCROLL = 2;
SM_CYHSCROLL = 3;
SM_CYCAPTION = 4;
SM_CXBORDER = 5;
SM_CYBORDER = 6;
SM_CXDLGFRAME = 7;
SM_CYDLGFRAME = 8;
SM_CYVTHUMB = 9;
SM_CXHTHUMB = 10;
SM_CXICON = 11;
SM_CYICON = 12;
SM_CXCURSOR = 13;
SM_CYCURSOR = 14;
SM_CYMENU = 15;
SM_CXFULLSCREEN = 16;
SM_CYFULLSCREEN = 17;
SM_CYKANJIWINDOW = 18;
SM_MOUSEPRESENT = 19;
SM_CYVSCROLL = 20;
SM_CXHSCROLL = 21;
SM_DEBUG = 22;
SM_SWAPBUTTON = 23;
SM_RESERVED1 = 24;
SM_RESERVED2 = 25;
SM_RESERVED3 = 26;
SM_RESERVED4 = 27;
SM_CXMIN = 28;
SM_CYMIN = 29;
SM_CXSIZE = 30;
SM_CYSIZE = 31;
SM_CXFRAME = 32;
SM_CYFRAME = 33;
SM_CXMINTRACK = 34;
SM_CYMINTRACK = 35;
SM_CXDOUBLECLK = 36;
SM_CYDOUBLECLK = 37;
SM_CXICONSPACING = 38;
SM_CYICONSPACING = 39;
SM_MENUDROPALIGNMENT = 40;
SM_PENWINDOWS = 41;
SM_DBCSENABLED = 42;
SM_CMOUSEBUTTONS = 43;
SM_CXFIXEDFRAME = SM_CXDLGFRAME;
SM_CYFIXEDFRAME = SM_CYDLGFRAME;
SM_CXSIZEFRAME = SM_CXFRAME;
SM_CYSIZEFRAME = SM_CYFRAME;
SM_SECURE = 44;
SM_CXEDGE = 45;
SM_CYEDGE = 46;
SM_CXMINSPACING = 47;
SM_CYMINSPACING = 48;
SM_CXSMICON = 49;
SM_CYSMICON = 50;
SM_CYSMCAPTION = 51;
SM_CXSMSIZE = 52;
SM_CYSMSIZE = 53;
SM_CXMENUSIZE = 54;
SM_CYMENUSIZE = 55;
SM_ARRANGE = 56;
SM_CXMINIMIZED = 57;
SM_CYMINIMIZED = 58;
SM_CXMAXTRACK = 59;
SM_CYMAXTRACK = 60;
SM_CXMAXIMIZED = 61;
SM_CYMAXIMIZED = 62;
SM_NETWORK = 63;
SM_CLEANBOOT = 67;
SM_CXDRAG = 68;
SM_CYDRAG = 69;
SM_SHOWSOUNDS = 70;
SM_CXMENUCHECK = 71;
SM_CYMENUCHECK = 72;
SM_SLOWMACHINE = 73;
SM_MIDEASTENABLED = 74;
SM_MOUSEWHEELPRESENT = 75;
SM_CMETRICS = 76;
//==============================================
// Clipboard format constant
//==============================================
//------------
// Predefined Clipboard Formats
//------------
CF_TEXT = 1;
CF_BITMAP = 2;
CF_METAFILEPICT = 3;
CF_OBJECT = 230;
type
TFarProc = Pointer;
TFNWndProc = TFarProc;
PLogFontA = ^TLogFontA;
PLogFontW = ^TLogFontW;
PLogFont = PLogFontA;
tagLOGFONTA = packed record
lfHeight: Longint;
lfWidth: Longint;
lfEscapement: Longint;
lfOrientation: Longint;
lfWeight: Longint;
lfItalic: Byte;
lfUnderline: Byte;
lfStrikeOut: Byte;
lfCharSet: Byte;
lfOutPrecision: Byte;
lfClipPrecision: Byte;
lfQuality: Byte;
lfPitchAndFamily: Byte;
lfFaceName: array[0..LF_FACESIZE - 1] of AnsiChar;
end;
tagLOGFONTW = packed record
lfHeight: Longint;
lfWidth: Longint;
lfEscapement: Longint;
lfOrientation: Longint;
lfWeight: Longint;
lfItalic: Byte;
lfUnderline: Byte;
lfStrikeOut: Byte;
lfCharSet: Byte;
lfOutPrecision: Byte;
lfClipPrecision: Byte;
lfQuality: Byte;
lfPitchAndFamily: Byte;
lfFaceName: array[0..LF_FACESIZE - 1] of WideChar;
end;
tagLOGFONT = tagLOGFONTA;
TLogFontA = tagLOGFONTA;
TLogFontW = tagLOGFONTW;
TLogFont = TLogFontA;
LOGFONTA = tagLOGFONTA;
LOGFONTW = tagLOGFONTW;
LOGFONT = LOGFONTA;
COLORREF = LongWord;
TColorRef = LongWord;
PLogBrush = ^TLogBrush;
tagLOGBRUSH = packed record
lbStyle: LongWord;
lbColor: COLORREF;
lbHatch: Longint;
end;
TLogBrush = tagLOGBRUSH;
LOGBRUSH = tagLOGBRUSH;
type
PEnumLogFontA = ^TEnumLogFontA;
PEnumLogFontW = ^TEnumLogFontW;
PEnumLogFont = PEnumLogFontA;
tagENUMLOGFONTA = packed record
elfLogFont: TLogFontA;
elfFullName: array[0..LF_FULLFACESIZE - 1] of AnsiChar;
elfStyle: array[0..LF_FACESIZE - 1] of AnsiChar;
end;
tagENUMLOGFONTW = packed record
elfLogFont: TLogFontW;
elfFullName: array[0..LF_FULLFACESIZE - 1] of WideChar;
elfStyle: array[0..LF_FACESIZE - 1] of WideChar;
end;
tagENUMLOGFONT = tagENUMLOGFONTA;
TEnumLogFontA = tagENUMLOGFONTA;
TEnumLogFontW = tagENUMLOGFONTW;
TEnumLogFont = TEnumLogFontA;
ENUMLOGFONTA = tagENUMLOGFONTA;
ENUMLOGFONTW = tagENUMLOGFONTW;
ENUMLOGFONT = ENUMLOGFONTA;
PEnumLogFontExA = ^TEnumLogFontExA;
PEnumLogFontExW = ^TEnumLogFontExW;
PEnumLogFontEx = PEnumLogFontExA;
tagENUMLOGFONTEXA = packed record
elfLogFont: TLogFontA;
elfFullName: array[0..LF_FULLFACESIZE - 1] of AnsiChar;
elfStyle: array[0..LF_FACESIZE - 1] of AnsiChar;
elfScript: array[0..LF_FACESIZE - 1] of AnsiChar;
end;
tagENUMLOGFONTEXW = packed record
elfLogFont: TLogFontW;
elfFullName: array[0..LF_FULLFACESIZE - 1] of WideChar;
elfStyle: array[0..LF_FACESIZE - 1] of WideChar;
elfScript: array[0..LF_FACESIZE - 1] of WideChar;
end;
tagENUMLOGFONTEX = tagENUMLOGFONTEXA;
TEnumLogFontExA = tagENUMLOGFONTEXA;
TEnumLogFontExW = tagENUMLOGFONTEXW;
TEnumLogFontEx = TEnumLogFontExA;
ENUMLOGFONTEXA = tagENUMLOGFONTEXA;
ENUMLOGFONTEXW = tagENUMLOGFONTEXW;
ENUMLOGFONTEX = ENUMLOGFONTEXA;
PLogPen = ^TLogPen;
tagLOGPEN = packed record
lopnStyle: LongWord;
lopnWidth: TPoint;
lopnColor: TColorRef;
end;
TLogPen = tagLOGPEN;
LOGPEN = tagLOGPEN;
type
PTextMetricA = ^TTextMetricA;
PTextMetricW = ^TTextMetricW;
PTextMetric = PTextMetricA;
tagTEXTMETRICA = record
tmHeight: Longint;
tmAscent: Longint;
tmDescent: Longint;
tmInternalLeading: Longint;
tmExternalLeading: Longint;
tmAveCharWidth: Longint;
tmMaxCharWidth: Longint;
tmWeight: Longint;
tmOverhang: Longint;
tmDigitizedAspectX: Longint;
tmDigitizedAspectY: Longint;
tmFirstChar: AnsiChar;
tmLastChar: AnsiChar;
tmDefaultChar: AnsiChar;
tmBreakChar: AnsiChar;
tmItalic: Byte;
tmUnderlined: Byte;
tmStruckOut: Byte;
tmPitchAndFamily: Byte;
tmCharSet: Byte;
end;
tagTEXTMETRICW = record
tmHeight: Longint;
tmAscent: Longint;
tmDescent: Longint;
tmInternalLeading: Longint;
tmExternalLeading: Longint;
tmAveCharWidth: Longint;
tmMaxCharWidth: Longint;
tmWeight: Longint;
tmOverhang: Longint;
tmDigitizedAspectX: Longint;
tmDigitizedAspectY: Longint;
tmFirstChar: WideChar;
tmLastChar: WideChar;
tmDefaultChar: WideChar;
tmBreakChar: WideChar;
tmItalic: Byte;
tmUnderlined: Byte;
tmStruckOut: Byte;
tmPitchAndFamily: Byte;
tmCharSet: Byte;
end;
tagTEXTMETRIC = tagTEXTMETRICA;
TTextMetricA = tagTEXTMETRICA;
TTextMetricW = tagTEXTMETRICW;
TTextMetric = TTextMetricA;
TEXTMETRICA = tagTEXTMETRICA;
TEXTMETRICW = tagTEXTMETRICW;
TEXTMETRIC = TEXTMETRICA;
PWndClassExA = ^TWndClassExA;
PWndClassExW = ^TWndClassExW;
PWndClassEx = PWndClassExA;
tagWNDCLASSEXA = packed record
cbSize: UINT;
style: UINT;
lpfnWndProc: TFNWndProc;
cbClsExtra: Integer;
cbWndExtra: Integer;
hInstance: HINST;
_hIcon: HICON;
hCursor: HCURSOR;
hbrBackground: HBRUSH;
lpszMenuName: PAnsiChar;
lpszClassName: PAnsiChar;
hIconSm: HICON;
end;
tagWNDCLASSEXW = packed record
cbSize: UINT;
style: UINT;
lpfnWndProc: TFNWndProc;
cbClsExtra: Integer;
cbWndExtra: Integer;
hInstance: HINST;
_hIcon: HICON;
hCursor: HCURSOR;
hbrBackground: HBRUSH;
lpszMenuName: PWideChar;
lpszClassName: PWideChar;
hIconSm: HICON;
end;
tagWNDCLASSEX = tagWNDCLASSEXA;
TWndClassExA = tagWNDCLASSEXA;
TWndClassExW = tagWNDCLASSEXW;
TWndClassEx = TWndClassExA;
WNDCLASSEXA = tagWNDCLASSEXA;
WNDCLASSEXW = tagWNDCLASSEXW;
WNDCLASSEX = WNDCLASSEXA;
PWndClassA = ^TWndClassA;
PWndClassW = ^TWndClassW;
PWndClass = PWndClassA;
tagWNDCLASSA = packed record
style: UINT;
lpfnWndProc: TFNWndProc;
cbClsExtra: Integer;
cbWndExtra: Integer;
hInstance: HINST;
hIcon: HICON;
hCursor: HCURSOR;
hbrBackground: HBRUSH;
lpszMenuName: PAnsiChar;
lpszClassName: PAnsiChar;
end;
tagWNDCLASSW = packed record
style: UINT;
lpfnWndProc: TFNWndProc;
cbClsExtra: Integer;
cbWndExtra: Integer;
hInstance: HINST;
hIcon: HICON;
hCursor: HCURSOR;
hbrBackground: HBRUSH;
lpszMenuName: PWideChar;
lpszClassName: PWideChar;
end;
tagWNDCLASS = tagWNDCLASSA;
TWndClassA = tagWNDCLASSA;
TWndClassW = tagWNDCLASSW;
TWndClass = TWndClassA;
WNDCLASSA = tagWNDCLASSA;
WNDCLASSW = tagWNDCLASSW;
WNDCLASS = WNDCLASSA;
type
PMsg = ^TMsg;
tagMSG = packed record
hwnd: HWND;
message: LongWord;
wParam: Longint;
lParam: Longint;
time: DWORD;
pt: TPoint;
end;
TMsg = tagMSG;
_MSG = tagMSG;
// All winapi related stuff
{$I winapih.inc}
function MakeLong(A,B : Word) : LongInt;
function MakeWord(A,B : Byte) : Word;
implementation
uses
SysUtils, Interfaces, Strings, Math;
function MakeLong(A,B : Word) : LongInt;
begin
Result := A or B shl 16;
end;
function MakeWord(A,B : Byte) : Word;
Begin
Result := A or B shl 8;
end;
{$I winapi.inc}
//initialization
//finalization
end.
{
$Log$
Revision 1.5 2001/02/01 16:45:19 lazarus
Started the code completion.
Shane
Revision 1.4 2000/09/10 23:08:30 lazarus
MWE:
+ Added CreateCompatibeleBitamp function
+ Updated TWinControl.WMPaint
+ Added some checks to avoid gtk/gdk errors
- Removed no fixed warning from GetDC
- Removed some output
Revision 1.3 2000/08/11 14:59:09 lazarus
Adding all the Synedit files.
Changed the GDK_KEY_PRESS and GDK_KEY_RELEASE stuff to fix the problem in the editor with the shift key being ignored.
Shane
Revision 1.1 2000/07/13 10:28:24 michael
+ Initial import
Revision 1.39 2000/05/09 00:01:26 lazarus
Updated my email address in the documentation to the current one. Also
removed email references in comments that were not @author comments to
fix problems with the documentation produced by pasdoc. CAW
Revision 1.38 2000/04/24 23:22:52 lazarus
MWE:
+ Added ide option to the makfiles to only compile the ide
(don't compile its dependencies because they will be
compiled anyhow)
"Vincent Snijders" <vrs@dds.nl>:
- removed the references to the windows unit in mwCustomEdit
= moved the cf_xxxx constants from clipbrd.pp to lcllinux
Revision 1.37 2000/03/31 18:41:03 lazarus
Implemented MessageBox / Application.MessageBox calls. No icons yet, though...
Revision 1.36 2000/03/15 00:51:58 lazarus
MWE:
+ Added LM_Paint on expose
+ Added forced creation of gdkwindow if needed
~ Modified DrawFrameControl
+ Added BF_ADJUST support on DrawEdge
- Commented out LM_IMAGECHANGED in TgtkObject.IntSendMessage3
(It did not compile)
Revision 1.35 2000/03/14 19:49:05 lazarus
Modified the painting process for TWincontrol. Now it runs throug it's FCONTROLS list and paints all them
Shane
Revision 1.34 2000/03/10 18:31:10 lazarus
Added TSpeedbutton code
Shane
Revision 1.33 2000/03/10 13:14:32 lazarus
*** empty log message ***
Revision 1.32 2000/03/08 23:57:39 lazarus
MWE:
Added SetSysColors
Fixed TEdit text bug (thanks to hans-joachim ott <hjott@compuserve.com>)
Finished GetKeyState
Added changes from Peter Dyson <peter@skel.demon.co.uk>
- a new GetSysColor
- some improvements on ExTextOut
Revision 1.31 2000/03/06 00:05:05 lazarus
MWE: Added changes from Peter Dyson <peter@skel.demon.co.uk> for a new
release of mwEdit (0.92)
Revision 1.30 2000/03/03 22:58:26 lazarus
MWE:
Fixed focussing problem.
LM-FOCUS was bound to the wrong signal
Added GetKeyState api func.
Now LCL knows if shift/trl/alt is pressed (might be handy for keyboard
selections ;-)
Revision 1.29 2000/02/28 19:16:04 lazarus
Added code to the FILE CLOSE to check if the file was modified. HAven't gotten the application.messagebox working yet though. It won't stay visible.
Shane
Revision 1.28 2000/02/24 21:15:30 lazarus
Added TCustomForm.GetClientRect and RequestAlign to try and get the controls to align correctly when a MENU is present. Not Complete yet.
Fixed the bug in TEdit that caused it not to update it's text property. I will have to
look at TMemo to see if anything there was affected.
Added SetRect to WinAPI calls
Added AdjustWindowRectEx to WINAPI calls.
Shane
Revision 1.27 2000/01/31 20:00:22 lazarus
Added code for Application.ProcessMessages. Needs work.
Added TScreen.Width and TScreen.Height. Added the code into
GetSystemMetrics for these two properties.
Shane
Revision 1.26 2000/01/10 00:07:13 lazarus
MWE:
Added more scrollbar support for TWinControl
Most signals for TWinContorl are jet connected to the wrong widget
(now scrolling window, should be fixed)
Added some cvs entries
Revision 1.25 2000/01/07 21:14:14 lazarus
Added code for getwindowlong and setwindowlong.
Shane
Revision 1.24 1999/12/28 01:10:54 lazarus
MWE:
Added most common virtual keycodes
Revision 1.23 1999/12/21 21:35:54 lazarus
committed the latest toolbar code. Currently it doesn't appear anywhere and I have to get it to add buttons correctly through (I think) setstyle. I think I'll implement the LM_TOOLBARINSERTBUTTON call there.
Shane
Revision 1.22 1999/12/20 21:37:12 lazarus
Added ISRIGHTTOLEFT in menus file.
Added ISACCEL in forms.pp
Shane
Revision 1.21 1999/12/20 21:01:14 lazarus
Added a few things for compatability with Delphi and TToolbar
Shane
Revision 1.20 1999/12/14 21:07:12 lazarus
Added more stuff for TToolbar
Shane
Revision 1.19 1999/12/14 19:37:49 lazarus
Added a few record structures and such for preperation for the toolbar.
Shane
Revision 1.18 1999/12/14 00:16:43 lazarus
MWE:
Renamed LM... message handlers to WM... to be compatible and to
get more edit parts to compile
Started to implement GetSystemMetrics
Removed some Lazarus specific parts from mwEdit
Revision 1.17 1999/12/10 00:47:01 lazarus
MWE:
Fixed some samples
Fixed Dialog parent is no longer needed
Fixed (Win)Control Destruction
Fixed MenuClick
Revision 1.16 1999/12/02 19:00:59 lazarus
MWE:
Added (GDI)Pen
Changed (GDI)Brush
Changed (GDI)Font (color)
Changed Canvas to use/create pen/brush/font
Hacked mwedit to allow setting the number of chars (till it get a WM/LM_SIZE event)
The editor shows a line !
Revision 1.15 1999/11/29 00:46:47 lazarus
MWE:
Added TBrush as gdiobject
commented out some more mwedit MWE_FPC ifdefs
Revision 1.14 1999/11/25 23:45:08 lazarus
MWE:
Added font as GDIobject
Added some API testcode to testform
Commented out some more IFDEFs in mwCustomEdit
Revision 1.13 1999/11/18 00:13:08 lazarus
MWE:
Partly Implemented SelectObject
Added ExTextOut
Added GetTextExtentPoint
Added TCanvas.TextExtent/TextWidth/TextHeight
Added TSize and HPEN
Revision 1.12 1999/11/17 01:16:40 lazarus
MWE:
Added some more API stuff
Added an initial TBitmapCanvas
Added some DC stuff
Changed and commented out, original gtk linedraw/rectangle code. This
is now called through the winapi wrapper.
Revision 1.11 1999/11/13 13:03:34 lazarus
MWE:
Started to implement some platform dependent WINAPI stuff
Added a baseclass for InterfaceObject
Started messing around with canvasses
Revision 1.10 1999/11/09 06:33:09 lazarus
Added more constants to get more mwCustomEdit beta files to compile. CAW
Revision 1.9 1999/11/02 16:02:34 lazarus
Added a bunch of wndproc stuff and a lot of functions that really don't do a thing at this point.
Shane
Revision 1.8 1999/11/01 01:28:30 lazarus
MWE: Implemented HandleNeeded/CreateHandle/CreateWND
Now controls are created on demand. A call to CreateComponent shouldn't
be needed. It is now part of CreateWnd
Revision 1.7 1999/10/30 17:39:35 peter
* reallocmem is now in the system unit
Revision 1.6 1999/10/28 23:48:57 lazarus
MWE: Added new menu classes and started to use handleneeded
Revision 1.5 1999/10/28 19:25:10 lazarus
Added a ton of messaging stuff
Shane
Revision 1.4 1999/10/27 18:23:29 lazarus
mwEdit compiles.
Shane
Revision 1.3 1999/10/27 17:27:07 lazarus
Added alot of changes and TODO: statements
shane
Revision 1.2 1999/10/27 13:11:51 lazarus
Added some LM_??? stuff to LMEssages.
Shane
Revision 1.1 1999/10/27 12:53:23 lazarus
Added LCLLinux.pp and removed Linux.pp
Also, added the TCustomForm.ISFORM function.
Shane
Revision 1.1 1999/10/26 14:51:20 lazarus
Removed WINDOWS.PP and added LINUX.PP
Shane
}