Ben ik sietsofreen ofzo?? Ik loop nogal in mezelf te praten, niet?
Nou ja, ik ben er nu dus achter dat als ik ook nog commctrl bij uses zet, ie wel compiled. En zelfs 'n hoop events maakt op de OnColumnResize die ik nu heb.
Oftewel: 't worked!!!
HDN_ENDTRACK is bruikbaarder omdat deze alleen fired nadat 'n column geresized is. (Dus minder vaak fired, dus sneller is.)
Hier de code, voor evt. mensen die gaan zoeken in GoT:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
| unit MyListView1;
interface
uses
Windows, Messages, SysUtils, Classes, Controls, ComCtrls, CommCtrl;
type
TMyListView1 = class(TListView)
private
{ Private declarations }
FOnColumnResize : TNotifyEvent;
protected
{ Protected declarations }
procedure WMNotify(var Message: TWMNotify); message WM_NOTIFY;
procedure doColumnResize; virtual;
public
{ Public declarations }
published
{ Published declarations }
property OnColumnResize: TNotifyEvent
read FOnColumnResize write FOnColumnResize;
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('Samples', [TMyListView1]);
end;
procedure TMyListView1.WMNotify(var Message: TWMNotify);
begin
inherited;
with PHDNotify(Message.NMHdr)^ do
case Hdr.Code of
HDN_ENDTRACK:
if (PItem^.mask and HDI_WIDTH) <> 0 then
doColumnResize;
end;
end;
procedure TMyListView1.doColumnResize;
begin
if Assigned(FOnColumnResize) then FOnColumnResize(self);
end;
end. |