Hi Gary 1. Am I correct in thinking that I would need to trap mousedown on every non-focusable object and call MyMouseDown for each TEdit1 that might have focus? 2. Is this the usual way to pass on the message. (I called the component a TFocusEdit)
procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var AMessage: TWMLButtonDown; begin FocusEdit1.MyMousedown(AMessage); //All other FocusEdits and FocusCombos etc get a MyMousedown here; recursion? end; Wayne NZ Borland Developers Group - Delphi List <[email protected]> on Tuesday, 5 September 2006 at 11:37 a.m. +0000 wrote: > [Reply] > >HI Rob et all, > >Here's a mod to the previous code that makes the change when you click on the >form. > >Note that when you click off the component on to a non-focusable object, the >original component >still has focus, so you can trap the mousedown event and go from there. > >If you click on a focusable component then focus leaves and you can trap the >onexit event. > >HTH > >cheers > >Gary > >unit Edit1; > >interface > >uses > > Messages,SysUtils, Classes, Controls, StdCtrls, Graphics; > >type > > TEdit1 = class(TEdit) > > private > > { Private declarations } > > procedure MyExit(var Message: TCMExit); message CM_EXIT; > > procedure MyEnter(var Message: TCMEnter); message CM_ENTER; > > procedure MyMousedown(var Message: TWMLButtonDown); message WM_LBUTTONDOWN; > > protected > > { Protected declarations } > > public > > { Public declarations } > > published > > { Published declarations } > > end; > >procedure Register; > >implementation > >procedure Register; > >begin > > RegisterComponents('GCS', [TEdit1]); > >end; > >{ TEdit1 } > >procedure TEdit1.MyEnter(var Message: TCMEnter); > >begin > > color:=clYellow; > >end; > >procedure TEdit1.MyExit(var Message: TCMExit); > >begin > >// > > color:=clWindow; > >end; > >procedure TEdit1.MyMousedown(var Message: TWMLButtonDown); > >begin > > color:=clWindow; > > inherited; > >end; > >end. > >At 10:55 on 5/09/2006 you wrote > >>To : [email protected] > >>CC : > >>From: Robert martin, [EMAIL PROTECTED] > >>Content Type: text/plain > >>Attached: > >> > >>Thought I had tried it but my implementation mat have been wrong, will > >>have another crack :) > >> > >>Rob Martin > >>Software Engineer > >> > >>phone +64 03 377 0495 > >>fax +64 03 377 0496 > >>web www.chreos.com > >> > >>Wild Software Ltd > >> > >> > >> > >>James Sugrue wrote: > >>> WM_KILLFOCUS? > >>> > >>> Never used it, but apparently it can be a bit dodgy. > >>> > >>> -----Original Message----- > >>> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On > >>> Behalf Of Robert martin > >>> Sent: Tuesday, September 05, 2006 10:11 AM > >>> To: NZ Borland Developers Group - Delphi List > >>> Subject: [DUG] Component creation > >>> > >>> Hi > >>> > >>> I have a custom component that expands to show data. When focus changes > >>> it reverts back to its shrunken state. However I also want it to revert > >>> to small if the user clicks the mouse anywhere outside of the component > >>> (the way that TComboBox does if it is dropped down). > >>> > >>> I assume I need to trap a windows message to handle this but I just cant > >>> see which. > >>> > >>> Any suggestions ? > >>> > >>> > >>_______________________________________________ > >>Delphi mailing list > >>[email protected] > >>http://ns3.123.co.nz/mailman/listinfo/delphi > >> > > > >---------------------------------------------------------------------------------------------------- > >Gary Benner >e-Engineer, Lecturer, and Software Developer > >[ http://www.123.co.nz ]123 Internet Limited >[ http://www.waiariki.ac.nz ]Waiariki Institute of Technology >[ http://www.sunshinebags.co.nz ]Sunshine Garden Bag Co. >[ http://www.sommnet.com ]Sommnet.com Limited >Mob: 021 966 992 >Email: [ mailto:[EMAIL PROTECTED] [EMAIL PROTECTED] > > > >Ref#: 41006 > >_______________________________________________ >Delphi mailing list >[email protected] >http://ns3.123.co.nz/mailman/listinfo/delphi _______________________________________________ Delphi mailing list [email protected] http://ns3.123.co.nz/mailman/listinfo/delphi
