mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-05-24 20:43:40 +02:00
744 lines
24 KiB
ObjectPascal
744 lines
24 KiB
ObjectPascal
{ $Id$ }
|
|
{
|
|
/***************************************************************************
|
|
WIN32INT.pp - Win32Interface Object
|
|
-------------------
|
|
|
|
|
|
|
|
***************************************************************************/
|
|
|
|
*****************************************************************************
|
|
* *
|
|
* This file is part of the Lazarus Component Library (LCL) *
|
|
* *
|
|
* See the file COPYING.LCL, included in this distribution, *
|
|
* for details about the copyright. *
|
|
* *
|
|
* This program is distributed in the hope that it will be useful, *
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
|
|
* *
|
|
*****************************************************************************
|
|
}
|
|
|
|
Unit Win32Int;
|
|
|
|
{$mode objfpc}{$H+}
|
|
|
|
Interface
|
|
|
|
{$IFDEF Trace}
|
|
{$ASSERTIONS ON}
|
|
{$ENDIF}
|
|
|
|
// defining the following will print all messages as they are being handled
|
|
// valuable for investigation of message trees / interrelations
|
|
{ $define MSG_DEBUG}
|
|
|
|
{
|
|
When editing this unit list, be sure to keep Windows listed first to ensure
|
|
successful compilation.
|
|
}
|
|
Uses
|
|
Windows, Classes, ComCtrls, Controls, Buttons, Dialogs, DynHashArray,
|
|
ExtCtrls, Forms, GraphMath, GraphType, InterfaceBase, LCLIntf, LCLType,
|
|
LMessages, StdCtrls, SysUtils, Win32Def, Graphics, Menus;
|
|
|
|
const
|
|
|
|
IDC_ARROW = MakeIntResource(32512);
|
|
IDC_IBEAM = MakeIntResource(32513);
|
|
IDC_WAIT = MakeIntResource(32514);
|
|
IDC_CROSS = MakeIntResource(32515);
|
|
IDC_UPARROW = MakeIntResource(32516);
|
|
IDC_SIZE = MakeIntResource(32640);
|
|
IDC_ICON = MakeIntResource(32641);
|
|
IDC_SIZENWSE = MakeIntResource(32642);
|
|
IDC_SIZENESW = MakeIntResource(32643);
|
|
IDC_SIZEWE = MakeIntResource(32644);
|
|
IDC_SIZENS = MakeIntResource(32645);
|
|
IDC_SIZEALL = MakeIntResource(32646);
|
|
IDC_NO = MakeIntResource(32648);
|
|
IDC_HAND = MakeIntResource(32649);
|
|
IDC_APPSTARTING = MakeIntResource(32650);
|
|
IDC_HELP = MakeIntResource(32651);
|
|
|
|
{
|
|
These are add-ons, don't exist in windows itself!
|
|
IDC_NODROP = MakeIntResource(32767);
|
|
IDC_DRAG = MakeIntResource(32766);
|
|
IDC_HSPLIT = MakeIntResource(32765);
|
|
IDC_VSPLIT = MakeIntResource(32764);
|
|
IDC_MULTIDRAG = MakeIntResource(32763);
|
|
IDC_SQLWAIT = MakeIntResource(32762);
|
|
IDC_HANDPT = MakeIntResource(32761);
|
|
}
|
|
IDC_NODROP = IDC_NO;
|
|
IDC_DRAG = IDC_ARROW;
|
|
IDC_HSPLIT = IDC_SIZEWE;
|
|
IDC_VSPLIT = IDC_SIZENS;
|
|
IDC_MULTIDRAG = IDC_ARROW;
|
|
IDC_SQLWAIT = IDC_WAIT;
|
|
IDC_HANDPT = IDC_HAND;
|
|
|
|
LclCursorToWin32CursorMap: array[crLow..crHigh] of PChar = (
|
|
// uni-direction cursors are mapped to bidirection win32 cursors
|
|
IDC_SIZENWSE, IDC_SIZENS, IDC_SIZENESW, IDC_SIZEWE, IDC_SIZEWE,
|
|
IDC_SIZENESW, IDC_SIZENS, IDC_SIZENWSE, IDC_SIZEALL, IDC_HANDPT, IDC_HELP,
|
|
IDC_APPSTARTING, IDC_NO, IDC_SQLWAIT, IDC_MULTIDRAG, IDC_VSPLIT,
|
|
IDC_HSPLIT, IDC_NODROP, IDC_DRAG, IDC_WAIT, IDC_UPARROW, IDC_SIZEWE,
|
|
IDC_SIZENWSE, IDC_SIZENS, IDC_SIZENESW, IDC_SIZE, IDC_IBEAM, IDC_CROSS,
|
|
IDC_ARROW, IDC_ARROW, IDC_ARROW);
|
|
|
|
{ month picker, date picker, time picker, updown }
|
|
ICC_DATE_CLASSES = $00000100;
|
|
|
|
Type
|
|
PInitCommonControlsEx = ^TInitCommonControlsEx;
|
|
TInitCommonControlsEx = packed record
|
|
dwSize: dword;
|
|
dwICC: dword;
|
|
end;
|
|
|
|
{ Win32 interface-object class }
|
|
TWin32WidgetSet = Class(TWidgetSet)
|
|
Private
|
|
// The parent of all windows, represents the button of the taskbar
|
|
// This window is also the owner of the clipboard.
|
|
// Assoc. windowproc also acts as handler for popup menus
|
|
FAppHandle: HWND;
|
|
|
|
FMetrics: TNonClientMetrics;
|
|
FMetricsFailed: Boolean;
|
|
|
|
FStockNullBrush: HBRUSH;
|
|
FStockBlackBrush: HBRUSH;
|
|
FStockLtGrayBrush: HBRUSH;
|
|
FStockGrayBrush: HBRUSH;
|
|
FStockDkGrayBrush: HBRUSH;
|
|
FStockWhiteBrush: HBRUSH;
|
|
|
|
FStatusFont: HFONT;
|
|
FMessageFont: HFONT;
|
|
|
|
FThemesActive: boolean;
|
|
FThemeLibrary: HMODULE;
|
|
IsThemeActive: function: LongBool; stdcall;
|
|
IsAppThemed: function: LongBool; stdcall;
|
|
InitCommonControlsEx: function(ICC: PInitCommonControlsEx): LongBool; stdcall;
|
|
|
|
Procedure AssignSelf(Window: HWnd; Data: Pointer);
|
|
|
|
Procedure AllocAndCopy(const BitmapInfo: Windows.TBitmap; const SrcRect: TRect; var Data: PByte; var Size: Cardinal);
|
|
procedure FillRawImageDescriptionColors(Desc: PRawImageDescription);
|
|
procedure FillRawImageDescription(const BitmapInfo: Windows.TBitmap;
|
|
Desc: PRawImageDescription);
|
|
|
|
Function WinRegister: Boolean;
|
|
Procedure PaintPixmap(Surface: TObject; PixmapData: Pointer);
|
|
Procedure NormalizeIconName(Var IconName: String);
|
|
Procedure NormalizeIconName(Var IconName: PChar);
|
|
|
|
Public
|
|
{ Creates a callback of Lazarus message Msg for Sender }
|
|
Procedure SetCallback(Msg: LongInt; Sender: TObject); virtual;
|
|
{ Removes all callbacks for Sender }
|
|
Procedure RemoveCallbacks(Sender: TObject); virtual;
|
|
|
|
{ Constructor of the class }
|
|
Constructor Create;
|
|
{ Destructor of the class }
|
|
Destructor Destroy; Override;
|
|
{ Initialize the API }
|
|
procedure AppInit(var ScreenInfo: TScreenInfo); override;
|
|
procedure AppMinimize; override;
|
|
procedure AppBringToFront; override;
|
|
procedure DCSetPixel(CanvasHandle: HDC; X, Y: integer; AColor: TGraphicsColor); override;
|
|
function DCGetPixel(CanvasHandle: HDC; X, Y: integer): TGraphicsColor; override;
|
|
procedure DCRedraw(CanvasHandle: HDC); override;
|
|
procedure SetDesigning(AComponent: TComponent); override;
|
|
Procedure HandleEvents; Override;
|
|
Procedure WaitMessage; Override;
|
|
Procedure AppTerminate; Override;
|
|
procedure ShowHide(Sender: TObject);
|
|
Function InitHintFont(HintFont: TObject): Boolean; Override;
|
|
Function RecreateWnd(Sender: TWinControl): Integer; virtual;
|
|
Procedure AttachMenuToWindow(AMenuObject: TComponent); Override;
|
|
procedure UpdateThemesActive;
|
|
|
|
// procedures needed by interface methods
|
|
procedure ResizeChild(Sender: TWinControl; Left, Top, Width, Height: Integer);
|
|
|
|
// create and destroy
|
|
function CreateComponent(Sender : TObject): THandle; override;
|
|
function CreateTimer(Interval: integer; TimerFunc: TFNTimerProc) : integer; override;
|
|
function DestroyTimer(TimerHandle: Integer) : boolean; override;
|
|
|
|
// thread synchronize support
|
|
procedure HandleWakeMainThread(Sender: TObject);
|
|
|
|
{$I win32winapih.inc}
|
|
{$I win32lclintfh.inc}
|
|
|
|
property AppHandle: HWND read FAppHandle;
|
|
property MessageFont: HFONT read FMessageFont;
|
|
property ThemesActive: boolean read FThemesActive;
|
|
End;
|
|
|
|
{$I win32listslh.inc}
|
|
|
|
const
|
|
BOOL_RESULT: Array[Boolean] Of String = ('False', 'True');
|
|
ClsName: array[0..6] of char = 'Window'#0;
|
|
EditClsName: array[0..4] of char = 'Edit'#0;
|
|
ButtonClsName: array[0..6] of char = 'Button'#0;
|
|
ComboboxClsName: array[0..8] of char = 'ComboBox'#0;
|
|
TabControlClsName: array[0..15] of char = 'SysTabControl32'#0;
|
|
|
|
{ export for widgetset implementation }
|
|
|
|
function WindowProc(Window: HWnd; Msg: UInt; WParam: Windows.WParam;
|
|
LParam: Windows.LParam): LResult; stdcall;
|
|
function ComboBoxWindowProc(Window: HWnd; Msg: UInt; WParam: Windows.WParam;
|
|
LParam: Windows.LParam): LResult; stdcall;
|
|
function CallDefaultWindowProc(Window: HWnd; Msg: UInt; WParam: Windows.WParam;
|
|
LParam: Windows.LParam): LResult;
|
|
|
|
Implementation
|
|
|
|
Uses
|
|
Win32Proc,
|
|
////////////////////////////////////////////////////
|
|
// I M P O R T A N T
|
|
////////////////////////////////////////////////////
|
|
// To get as litle as posible circles,
|
|
// uncomment only those units with implementation
|
|
////////////////////////////////////////////////////
|
|
// Win32WSActnList,
|
|
Win32WSArrow,
|
|
Win32WSButtons,
|
|
Win32WSCalendar,
|
|
Win32WSCheckLst,
|
|
// Win32WSCListBox,
|
|
Win32WSComCtrls,
|
|
Win32WSControls,
|
|
// Win32WSDbCtrls,
|
|
// Win32WSDBGrids,
|
|
Win32WSDialogs,
|
|
// Win32WSDirSel,
|
|
// Win32WSEditBtn,
|
|
Win32WSExtCtrls,
|
|
// Win32WSExtDlgs,
|
|
// Win32WSFileCtrl,
|
|
Win32WSForms,
|
|
// Win32WSGrids,
|
|
// Win32WSImgList,
|
|
// Win32WSMaskEdit,
|
|
Win32WSMenus,
|
|
// Win32WSPairSplitter,
|
|
Win32WSSpin,
|
|
Win32WSStdCtrls,
|
|
// Win32WSToolwin,
|
|
////////////////////////////////////////////////////
|
|
Arrow, Calendar, CListBox, Spin, CheckLst, WinExt, LclProc;
|
|
|
|
type
|
|
{ Linked list of objects for events }
|
|
PLazObject = ^TLazObject;
|
|
TLazObject = Record
|
|
Parent: TObject;
|
|
Messages: TList;
|
|
Next: PLazObject;
|
|
End;
|
|
|
|
const
|
|
// needs to move
|
|
MCM_FIRST = $1000;
|
|
MCM_GETMINREQRECT = MCM_FIRST + 9;
|
|
|
|
type
|
|
TMouseDownFocusStatus = (mfNone, mfFocusSense, mfFocusChanged);
|
|
|
|
var
|
|
MouseDownTime: dword;
|
|
MouseDownWindow: HWND;
|
|
MouseDownFocusWindow: HWND;
|
|
MouseDownFocusStatus: TMouseDownFocusStatus;
|
|
OnClipBoardRequest: TClipboardRequestEvent;
|
|
|
|
{$I win32listsl.inc}
|
|
{$I win32callback.inc}
|
|
{$I win32object.inc}
|
|
{$I win32winapi.inc}
|
|
{$I win32lclintf.inc}
|
|
|
|
Initialization
|
|
|
|
Assert(False, 'Trace:win32int.pp - Initialization');
|
|
{$ifdef MSG_DEBUG}
|
|
MessageStackDepth := '';
|
|
{$endif}
|
|
EraseBkgndStack := 0;
|
|
{ initialize mousedownclick to far before double click time }
|
|
MouseDownFocusStatus := mfNone;
|
|
MouseDownTime := GetTickCount - 5000;
|
|
MouseDownWindow := 0;
|
|
|
|
{$ifndef VER1_0}
|
|
{ TThread.Synchronize support }
|
|
{$ifdef ver1_9_8}
|
|
SynchronizeMethodProc := @PrepareSynchronize;
|
|
{$endif}
|
|
{$endif}
|
|
|
|
Finalization
|
|
|
|
Assert(False, 'Trace:win32int.pp - Finalization');
|
|
|
|
End.
|
|
|
|
{ =============================================================================
|
|
|
|
$Log$
|
|
Revision 1.139 2005/05/05 14:51:05 micha
|
|
better looking arrow, not ideal, but better anyway (fixes 760)
|
|
|
|
Revision 1.138 2005/05/05 12:57:43 micha
|
|
improve click-focus-click implies doubleclick heuristic to check for focus change within handling of mouseclick
|
|
|
|
Revision 1.137 2005/04/29 11:53:25 micha
|
|
send double click to window, if pattern mouse-click, focus-change, mouse-click detected (fixes bug 794)
|
|
|
|
Revision 1.136 2005/04/07 15:52:31 micha
|
|
implement Ctrl+A to select all text for edit controls
|
|
|
|
Revision 1.135 2005/03/03 13:13:51 vincents
|
|
fixed thread synchronize support for fpc 1.9.9 using WakeMainThread
|
|
|
|
Revision 1.134 2005/02/23 01:12:47 marc
|
|
+ Added RemoveProp winapi call
|
|
* Some maintenace on winapi/lclintf files
|
|
|
|
Revision 1.133 2005/02/10 21:07:29 micha
|
|
let general WindowProc also handle childedit of combobox, reduces code duplication, implements doubleclick for combobox
|
|
|
|
Revision 1.132 2005/02/07 16:19:14 micha
|
|
force default width and height for calendar control
|
|
|
|
Revision 1.131 2005/01/15 10:09:23 micha
|
|
fix bug 558: title bar redraw (win32)
|
|
USE_SYNCHRONIZE enabled per default for 1.9.x
|
|
|
|
Revision 1.130 2005/01/14 12:16:39 vincents
|
|
added elements to LclCursorToWin32CursorMap for new crXXX constants
|
|
|
|
Revision 1.129 2004/12/27 10:18:21 micha
|
|
implement support for tthread.synchronize
|
|
|
|
Revision 1.128 2004/11/04 16:57:31 micha
|
|
remove obsolete and unused method twin32widgetset.settext
|
|
|
|
Revision 1.127 2004/10/29 09:52:08 micha
|
|
fix crash on showing tabpage
|
|
fix painting of radiobutton in groupbox (non-tabpage-parent)
|
|
|
|
Revision 1.126 2004/10/28 21:00:56 micha
|
|
convert GetProp and SetProp usage to one Atom pointing to a record of fields
|
|
|
|
Revision 1.125 2004/10/28 14:17:18 micha
|
|
remove obsolete message event array
|
|
|
|
Revision 1.124 2004/10/28 07:43:29 micha
|
|
experiment: use CS_SAVEBITS class style on tabpages to reduce flickering
|
|
|
|
Revision 1.123 2004/10/27 20:58:58 micha
|
|
fix winxp theming for tabcontrols (shaded background)
|
|
|
|
Revision 1.122 2004/10/16 10:17:21 micha
|
|
remove statusbar helper methods from general widgetset object
|
|
|
|
Revision 1.121 2004/10/15 09:51:09 micha
|
|
splitup of CreateComponent to widgetset CreateHandle methods
|
|
|
|
Revision 1.120 2004/10/06 10:52:46 micha
|
|
split up common dialogs code
|
|
|
|
Revision 1.119 2004/09/24 21:34:14 micha
|
|
convert LM_CREATE message to interface methods
|
|
remove SendMsgToInterface, CNSendMessage and related methods
|
|
remove TWidgetSet.IntSendMessage3; all LCL to interface messages have been converted
|
|
|
|
Revision 1.118 2004/09/24 14:50:57 micha
|
|
convert LM_SETDESIGNING message to TWidgetSet method
|
|
|
|
Revision 1.117 2004/09/24 07:52:35 micha
|
|
convert LM_SETPROPERTIES message to interface method for TCustomTrackBar
|
|
remove message LM_SETPROPERTIES, conversion done
|
|
|
|
Revision 1.116 2004/09/22 14:50:18 micha
|
|
convert LM_SETPROPERTIES message for tcustomlabel to interface methods
|
|
|
|
Revision 1.115 2004/09/19 18:50:28 micha
|
|
convert LM_SETVALUE message to interface methods
|
|
|
|
Revision 1.114 2004/09/18 17:07:58 micha
|
|
convert LM_GETVALUE message to interface method
|
|
|
|
Revision 1.113 2004/09/18 10:52:48 micha
|
|
convert LM_SCREENINIT message to interface method (integrated with TWidgetSet.AppInit(var ScreenInfo)
|
|
|
|
Revision 1.112 2004/09/15 17:21:22 micha
|
|
convert LM_GETITEMINDEX and LM_SETITEMINDEX messages to interface methods
|
|
|
|
Revision 1.111 2004/09/14 10:06:26 micha
|
|
convert LM_REDRAW message to interface method (in twidgetset)
|
|
|
|
Revision 1.110 2004/09/13 19:57:30 micha
|
|
convert LM_SHOWTABS message to interface method
|
|
|
|
Revision 1.109 2004/09/13 19:06:04 micha
|
|
convert LM_ADDPAGE and LM_REMOVEPAGE messages to new interface methods
|
|
|
|
Revision 1.108 2004/09/13 13:13:46 micha
|
|
convert LM_SHOWMODAL to interface methods
|
|
|
|
Revision 1.107 2004/09/12 19:50:36 micha
|
|
convert LM_SETSIZE message to new interface method
|
|
|
|
Revision 1.106 2004/09/12 13:11:50 micha
|
|
convert LM_GETPIXEL and LM_SETPIXEL to interface methods (of twidgetset, DCGetPixel and DCSetPixel)
|
|
|
|
Revision 1.105 2004/09/11 13:38:37 micha
|
|
convert LM_BRINGTOFRONT message to interface method
|
|
NOTE: was only used for tapplication, not from other controls
|
|
|
|
Revision 1.104 2004/09/11 13:06:49 micha
|
|
convert LM_ADDCHILD message to interface method
|
|
|
|
Revision 1.103 2004/09/10 20:19:13 micha
|
|
convert LM_CLB_G/SETCHECKED to interface methods
|
|
|
|
Revision 1.102 2004/09/10 18:58:22 micha
|
|
convert LM_ATTACHMENU to interface method
|
|
|
|
Revision 1.101 2004/09/10 14:38:29 micha
|
|
convert lm_gettext to new interface methods
|
|
remove lm_settext replacement settext methods in twidgetsets
|
|
|
|
Revision 1.100 2004/09/10 09:43:13 micha
|
|
convert LM_SETLABEL message to interface methods
|
|
|
|
Revision 1.99 2004/09/08 20:47:17 micha
|
|
convert LM_SHOWHIDE message to new intf method TWSWinControl.ShowHide
|
|
|
|
Revision 1.98 2004/09/08 19:09:34 micha
|
|
convert LM_SETCOLOR message to new intf method TWSWinControl.SetColor
|
|
|
|
Revision 1.97 2004/09/07 10:26:17 micha
|
|
fix logs to get rid of comment level 2 warning
|
|
|
|
Revision 1.96 2004/09/07 10:18:10 micha
|
|
fix win32 interface, remove lm_setlimittext (obsolete)
|
|
|
|
Revision 1.95 2004/09/07 09:44:46 micha
|
|
convert lcl messages to new interface using methods: LM_G/SETSELSTART, LM_G/SETSELLEN, LM_G/SETLIMITTEXT
|
|
|
|
Revision 1.94 2004/08/27 08:55:23 micha
|
|
implement tapplication.minimize for win32, stub for gtk
|
|
|
|
Revision 1.93 2004/08/25 15:04:44 micha
|
|
use new lcl interface methods instead of messages (for win32; twsbitbtn)
|
|
|
|
Revision 1.92 2004/08/18 09:31:21 mattias
|
|
removed obsolete unit vclglobals
|
|
|
|
Revision 1.91 2004/07/15 10:43:39 mattias
|
|
added TCustomButton, TCustomBitBtn, TCustomSpeedButton
|
|
|
|
Revision 1.90 2004/07/11 17:20:47 marc
|
|
* Implemented most of TListColoum/Item in the Ws for gtk and win32
|
|
|
|
Revision 1.89 2004/06/30 20:59:11 micha
|
|
initialize common controls: date picker
|
|
|
|
Revision 1.88 2004/06/29 08:03:08 micha
|
|
fix showtabs for win32 interface
|
|
|
|
Revision 1.87 2004/06/20 20:36:55 micha
|
|
remove old obsolete/commented toolbutton code
|
|
rename lazarusform classname to window, because we use it for panels, notebookpages, etc too
|
|
|
|
Revision 1.86 2004/06/18 20:47:34 vincents
|
|
fixed pasting from clipboard
|
|
|
|
Revision 1.85 2004/06/18 19:55:43 micha
|
|
fix xp themes drawing image on bitbtn
|
|
|
|
Revision 1.84 2004/06/13 14:32:15 micha
|
|
fix cursors to use what's available
|
|
|
|
Revision 1.83 2004/06/10 22:07:58 vincents
|
|
listbox style changes are notified to the widgetset
|
|
|
|
Revision 1.82 2004/06/10 18:14:09 vincents
|
|
converted win32proc.inc to unit
|
|
|
|
Revision 1.81 2004/06/09 20:51:45 vincents
|
|
implemented basic clipboard support for win32
|
|
|
|
Revision 1.80 2004/05/21 09:03:55 micha
|
|
implement new borderstyle
|
|
- centralize to twincontrol (protected)
|
|
- public expose at tcustomcontrol to let interface access it
|
|
|
|
Revision 1.79 2004/05/14 17:48:39 micha
|
|
fix itemheight of listbox, handle measureitem message
|
|
|
|
Revision 1.78 2004/05/12 09:46:25 micha
|
|
fix toolbar buttons by handling them as customcontrols
|
|
remove handledialogmessage, now handled in lcl
|
|
|
|
Revision 1.77 2004/04/11 10:19:28 micha
|
|
cursor management updated:
|
|
- lcl notifies interface via WSControl.SetCursor of changes
|
|
- fix win32 interface to respond to wm_setcursor callback and set correct cursor
|
|
|
|
Revision 1.76 2004/04/10 17:54:52 micha
|
|
- added: [win32] mousewheel default handler sends scrollbar messages
|
|
- fixed: lmsetcursor; partial todo
|
|
|
|
Revision 1.75 2004/03/26 21:20:54 vincents
|
|
Fixed line endings
|
|
|
|
Revision 1.74 2004/03/19 00:53:34 marc
|
|
* Removed all ComponentCreateHandle routines
|
|
|
|
Revision 1.73 2004/03/17 19:59:56 marc
|
|
* Fixes some typos and changes uses clause cases
|
|
|
|
Revision 1.72 2004/03/17 00:34:37 marc
|
|
* Interface reconstruction. Created skeleton units, classes and wscontrols
|
|
|
|
Revision 1.71 2004/03/05 01:04:21 marc
|
|
* Renamed TWin32Object to TWin32WidgetSet
|
|
|
|
Revision 1.70 2004/03/05 00:14:02 marc
|
|
* Renamed TInterfaceBase to TWidgetSet
|
|
|
|
Revision 1.69 2004/02/27 00:42:41 marc
|
|
* Interface CreateComponent splitup
|
|
* Implemented CreateButtonHandle on GTK interface
|
|
on win32 interface it still needs to be done
|
|
* Changed ApiWizz to support multilines and more interfaces
|
|
|
|
Revision 1.68 2004/02/23 08:19:04 micha
|
|
revert intf split
|
|
|
|
Revision 1.66 2004/02/21 13:35:15 micha
|
|
fixed: name clash SetCursor (message LM_SETCURSOR), and inherited SetCursor (winapi)
|
|
|
|
Revision 1.65 2004/01/12 08:36:34 micha
|
|
statusbar interface dependent reimplementation (from vincent)
|
|
|
|
Revision 1.64 2003/12/27 16:47:18 micha
|
|
fix dialogs owner handle, fixes focusing issue
|
|
|
|
Revision 1.63 2003/12/19 18:18:17 micha
|
|
fix window activation z-order
|
|
|
|
Revision 1.62 2003/12/18 10:17:00 micha
|
|
remove non-useful variable wndlist (thx vincent)
|
|
|
|
Revision 1.61 2003/12/18 08:51:01 micha
|
|
fix accelerators: now registered per window
|
|
|
|
Revision 1.60 2003/12/15 21:57:16 micha
|
|
checklistbox, implement object+checked; from vincent
|
|
|
|
Revision 1.59 2003/12/14 19:18:04 micha
|
|
hint fixes: parentfont, font itself, showing/hiding + more
|
|
|
|
Revision 1.58 2003/12/13 19:44:42 micha
|
|
hintwindow, color, rectangle size fixes
|
|
|
|
Revision 1.57 2003/11/27 23:02:30 mattias
|
|
removed menutype.pas
|
|
|
|
Revision 1.56 2003/11/26 21:55:15 mattias
|
|
fixed win32 TBaseMenuitem
|
|
|
|
Revision 1.55 2003/11/26 00:23:47 marc
|
|
* implemented new LCL(check|enable)Menuitem functions
|
|
* introduced the lclintf inc files to win32
|
|
|
|
Revision 1.54 2003/11/25 21:20:38 micha
|
|
implement tchecklistbox
|
|
|
|
Revision 1.53 2003/11/25 14:21:28 micha
|
|
new api lclenable,checkmenuitem according to list
|
|
|
|
Revision 1.52 2003/11/21 20:32:01 micha
|
|
cleanups; wm_hscroll/wm_vscroll fix
|
|
|
|
Revision 1.51 2003/11/14 20:23:31 micha
|
|
fpimage fixes
|
|
|
|
Revision 1.50 2003/11/10 16:15:32 micha
|
|
cleanups; win32 fpimage support
|
|
|
|
Revision 1.49 2003/11/08 17:41:03 micha
|
|
compiler warning cleanups
|
|
|
|
Revision 1.48 2003/10/28 14:25:37 mattias
|
|
fixed unit circle
|
|
|
|
Revision 1.47 2003/10/26 17:34:41 micha
|
|
new interface method to attach a menu to window
|
|
|
|
Revision 1.46 2003/10/23 07:45:49 micha
|
|
cleanups; single parent window (single taskbar button)
|
|
|
|
Revision 1.45 2003/10/21 15:06:27 micha
|
|
spinedit fix; variables cleanup
|
|
|
|
Revision 1.44 2003/09/30 13:05:59 mattias
|
|
removed FMainForm by Micha
|
|
|
|
Revision 1.43 2003/09/27 09:52:44 mattias
|
|
TScrollBox for win32 intf from Karl
|
|
|
|
Revision 1.42 2003/09/20 13:27:49 mattias
|
|
varois improvements for ParentColor from Micha
|
|
|
|
Revision 1.41 2003/09/18 09:21:03 mattias
|
|
renamed LCLLinux to LCLIntf
|
|
|
|
Revision 1.40 2003/09/14 09:43:45 mattias
|
|
fixed common dialogs from Karl
|
|
|
|
Revision 1.39 2003/09/08 13:24:17 mattias
|
|
removed class function
|
|
|
|
Revision 1.38 2003/09/08 12:21:48 mattias
|
|
added fpImage reader/writer hooks to TBitmap
|
|
|
|
Revision 1.37 2003/08/28 09:10:01 mattias
|
|
listbox and comboboxes now set sort and selection at handle creation
|
|
|
|
Revision 1.36 2003/08/27 09:33:26 mattias
|
|
implements SET_LABEL from Micha
|
|
|
|
Revision 1.35 2003/08/26 08:12:33 mattias
|
|
applied listbox/combobox patch from Karl
|
|
|
|
Revision 1.34 2003/08/26 07:04:04 mattias
|
|
fixed win32int
|
|
|
|
Revision 1.33 2003/08/21 06:52:47 mattias
|
|
size fixes from Karl
|
|
|
|
Revision 1.32 2003/08/17 12:51:35 mattias
|
|
added directory selection dialog from Vincent
|
|
|
|
Revision 1.31 2003/08/17 12:47:53 mattias
|
|
fixed mem leak
|
|
|
|
Revision 1.30 2003/08/17 12:26:00 mattias
|
|
fixed parts of the win32 intf size system
|
|
|
|
Revision 1.29 2003/03/13 19:57:38 mattias
|
|
added identcompletion context information and fixed win32 intf
|
|
|
|
Revision 1.28 2003/03/11 07:46:44 mattias
|
|
more localization for gtk- and win32-interface and lcl
|
|
|
|
Revision 1.27 2003/01/01 10:46:59 mattias
|
|
fixes for win32 listbox/combobox from Karl Brandt
|
|
|
|
Revision 1.26 2002/12/28 09:42:12 mattias
|
|
toolbutton patch from Martin Smat
|
|
|
|
Revision 1.25 2002/12/16 09:02:27 mattias
|
|
applied win32 notebook patch from Vincent
|
|
|
|
Revision 1.24 2002/02/09 01:48:23 mattias
|
|
renamed TinterfaceObject.Init to AppInit and TWinControls can now contain childs in gtk
|
|
|
|
Revision 1.23 2002/12/04 20:39:16 mattias
|
|
patch from Vincent: clean ups and fixed crash on destroying window
|
|
|
|
Revision 1.22 2002/12/03 09:15:15 mattias
|
|
cleaned up
|
|
|
|
Revision 1.21 2002/11/26 20:51:05 mattias
|
|
applied clipbrd patch from Vincent
|
|
|
|
Revision 1.20 2002/11/23 13:48:48 mattias
|
|
added Timer patch from Vincent Snijders
|
|
|
|
Revision 1.19 2002/11/15 23:43:54 mattias
|
|
applied patch from Karl Brandt
|
|
|
|
Revision 1.18 2002/10/27 19:59:03 lazarus
|
|
AJ: fixed compiling
|
|
|
|
Revision 1.17 2002/10/26 15:15:55 lazarus
|
|
MG: broke LCL<->interface circles
|
|
|
|
Revision 1.16 2002/08/08 18:05:48 lazarus
|
|
MG: added graphics extensions from Andrew Johnson
|
|
|
|
Revision 1.15 2002/05/31 13:10:49 lazarus
|
|
Keith: Code cleanup.
|
|
|
|
Revision 1.14 2002/05/10 07:43:48 lazarus
|
|
MG: updated licenses
|
|
|
|
Revision 1.13 2002/04/03 03:41:29 lazarus
|
|
Keith:
|
|
* Removed more obsolete code
|
|
* Compiles again!
|
|
|
|
Revision 1.12 2002/04/03 01:52:42 lazarus
|
|
Keith: Removed obsolete code, in preperation of a pending TWin32Object cleanup
|
|
|
|
Revision 1.11 2002/02/07 08:35:12 lazarus
|
|
Keith: Fixed persistent label captions and a few less noticable things
|
|
|
|
Revision 1.10 2002/02/03 06:06:25 lazarus
|
|
Keith: Fixed Win32 compilation problems
|
|
|
|
Revision 1.9 2002/02/01 10:13:09 lazarus
|
|
Keith: Fixes for Win32
|
|
|
|
Revision 1.8 2002/01/31 09:32:07 lazarus
|
|
Keith:
|
|
* Open and save dialogs can now coexist in apps (however, only one of each type of common dialog can be used per app :( )
|
|
* Fixed make all
|
|
* Fixed crash in Windows 98/ME
|
|
|
|
Revision 1.7 2002/01/25 19:42:56 lazarus
|
|
Keith: Improved events and common dialogs on Win32
|
|
|
|
Revision 1.6 2002/01/17 03:17:44 lazarus
|
|
Keith: Fixed TCustomPage creation
|
|
|
|
Revision 1.5 2002/01/05 13:16:09 lazarus
|
|
MG: win32 interface update from Keith Bowes
|
|
|
|
Revision 1.4 2001/11/01 22:40:13 lazarus
|
|
MG: applied Keith Bowes win32 interface updates
|
|
|
|
Revision 1.3 2001/08/02 12:58:35 lazarus
|
|
MG: win32 interface patch from Keith Bowes
|
|
|
|
Revision 1.2 2000/12/12 14:16:43 lazarus
|
|
Updated OI from Mattias
|
|
Shane
|
|
|
|
Revision 1.1 2000/07/13 10:28:29 michael
|
|
+ Initial import
|
|
|
|
}
|