Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.02.19;
Скачать: CL | DM;

Вниз

Вопросы по ListView1   Найти похожие ветки 

 
Trubis   (2005-06-23 00:06) [0]

Как запретить изменение ширины столбцов?
Ну всё облазил :((
Если клик мышой вне списка (н-р в списке 5 пунктов, а клик на 7), то почему пропадает выделение предыдуще-выделенного пункта. Как оставить?


 
ECM ©   (2005-06-25 16:40) [1]

Как запретить изменение ширины столбцов?
На KOL? Легко!... :)
type
 TWndProc = function (hWnd: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;

var
 HdrDefWndProc: TWndProc = nil;

function HdrWndFunc(hWnd: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
begin
 Case Msg of
   WM_SETCURSOR,WM_MOUSEMOVE: Result := 0;
 else
   Result := CallWindowProc(@HdrDefWndProc,hWnd,Msg,wParam,lParam);
 end;
end;

procedure TForm1.KOLForm1FormCreate(Sender: PObj);
var
 Header: THandle;
begin
 Header := ListView1.Perform(LVM_GETHEADER,0,0);
 HdrDefWndProc := Pointer(GetWindowLong(Header,GWL_WNDPROC));
 if Assigned(HdrDefWndProc) then
   SetWindowLong(Header,GWL_WNDPROC,Integer(@HdrWndFunc));
end;


Если клик мышой вне списка (н-р в списке 5 пунктов, а клик на 7), то почему пропадает выделение предыдуще-выделенного пункта. Как оставить?

На KOL? ... еще легче...:)

function TForm1.ListView1Message(var Msg: tagMSG;
 var Rslt: Integer): Boolean;
var
hti: TLVHitTestInfo;
begin
 Result := FALSE;
 if Msg.message = WM_LBUTTONDOWN then begin
   hti.pt.X := LoWord( Msg.lParam );
   hti.pt.Y := HiWord( Msg.lParam );
   Result := ListView1.Perform(LVM_HITTEST,0,Integer(@hti)) = -1;
 end;
end;


 
ECM ©   (2005-06-25 17:40) [2]

з.ы. увидел неточность:

function TForm1.ListView1Message(var Msg: tagMSG;
var Rslt: Integer): Boolean;
var
hti: TLVHitTestInfo;
begin
Result := FALSE;
if (Msg.message = WM_LBUTTONDOWN) or (Msg.message = WM_RBUTTONDOWN) then begin
  hti.pt.X := LoWord( Msg.lParam );
  hti.pt.Y := HiWord( Msg.lParam );
  Result := ListView1.Perform(LVM_HITTEST,0,Integer(@hti)) = -1;
end;
end;



Страницы: 1 вся ветка

Текущий архив: 2006.02.19;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.033 c
4-1133437485
Avers_SM
2005-12-01 14:44
2006.02.19
Ув. мастера. Как найти хендлы всех контролов на форме?


4-1133698927
Volf_555
2005-12-04 15:22
2006.02.19
Как правильно передать параметры приложению?


2-1138550619
13
2006-01-29 19:03
2006.02.19
ActionMainMenuBar


3-1135066290
Ярослав
2005-12-20 11:11
2006.02.19
Сложить две поля типа TIME в FB


2-1138884273
Silver__Dragon
2006-02-02 15:44
2006.02.19
HotKey