Главная страница
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.058 c
15-1138276779
Dec
2006-01-26 14:59
2006.02.19
Работа с Excel


2-1138896565
park
2006-02-02 19:09
2006.02.19
Не запускается скомпилированая программа


2-1139071362
HITMAN
2006-02-04 19:42
2006.02.19
IdPOP31


15-1138443966
oldman
2006-01-28 13:26
2006.02.19
"Влип, очкарик" :))) (опрос)


15-1138394858
Ермак
2006-01-27 23:47
2006.02.19
Прошу прощения за "флейм"