Главная страница
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.06 c
1-1137769002
Tristania
2006-01-20 17:56
2006.02.19
Работа с msi-форматом и инсталляция программы


2-1138701837
pavel_guzhanov
2006-01-31 13:03
2006.02.19
Как определить список папок, находящихся внутри заданной папки


2-1138774555
Just a man
2006-02-01 09:15
2006.02.19
Создание перетаскиваемого объекта


3-1135579736
makvell
2005-12-26 09:48
2006.02.19
Импорт в Word


15-1138618567
Ega23
2006-01-30 13:56
2006.02.19
Народ, а у вас всегда так?