PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum Não permitir mudar tamanho das colunas do ListView #254395

14/10/2004

0

Estou precisando fazer com que os usuários não possam mudar o tamanho das colunas do ListView. Algo como a propriedade Options [dgColumnResize] do DBGrid. Alguém sabe como fazer?

Até!


Delphi32

Delphi32

Responder

Posts

14/10/2004

Delphi32

aew, acabei descobrindo. taí o código:

private 
  FListViewOldWndProc: TWndMethod; 
  procedure ListViewNewWndProc(var Msg: TMessage); 
end; 

{....} 

implementation 

uses 
  CommCtrl; 


procedure TForm1.FormCreate(Sender: TObject); 
begin 
  FListViewOldWndProc := ListView1.WindowProc; 
  Listview1.WindowProc := ListViewNewWndProc; 
end; 

procedure TForm1.ListViewNewWndProc(var Msg: TMessage); 
var 
  hdn: ^THDNotify; 
begin 
  if Msg.Msg = WM_NOTIFY then 
  begin 
    hdn := Pointer(Msg.lParam); 
    if (hdn.hdr.code = HDN_BeginTrackW) or (hdn.hdr.code = HDN_BeginTrackA) then 
      Msg.Result := 1 
    else 
      FListViewOldWndProc(Msg); 
  end 
  else  
    FListViewOldWndProc(Msg); 
end; 

procedure TForm1.FormDestroy(Sender: TObject); 
begin 
  ListView1.WindowProc := FlistViewOldWndProc; 
  FListViewOldWndProc  := nil; 
end;


mas agora to com uma outra dúvida. Eu encontrei um código para um componente Descendente do TListView que implementava três novos eventos: OnColumnResize,OnBeginColumnResize e OnEndColumnResize. E agora encontrei também esse código para não permitir mudar o tamanho das colunas, só que esse código eu executo no form (OnCreate) como eu poderia fazer para implementar nesse componente uma propriedade ´ResizeColumns:Boolean´? Onde eu colocaria esse código que no momento eu uso no OnCreate do Form?

Valeu!


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar