2014-11-09 2 views
0

Мне нужно знать ширину столбца в cxdbtreelist, например: columntautowidth = true. cxdbtreelist.align = altop.Ширина столбца в cxDBTreeList

procedure Tform1.FormResize(Sender: TObject); 
begin 
    lable1.Caption := IntToStr(cxDBTreeList1.Columns[0].Width); 
end; 

но, после изменение размера, столбец размер не меняется. Спасибо

+0

Вы говорите, что значение, показанное «lable1.Caption», не изменяется или что ширина экрана на столбцах [0] не изменяется? – MartynA

+0

Значение, показанное «lable1.Caption», не изменяется – user2015306

ответ

0

Хорошо, я могу воспроизвести это.

Причина проста: я думаю, вы обнаружите, что OLH говорит, что ширина столбца - это значение, заданное в дизайнере. DisplayWidth столбца является свойством, которое отражает его текущую ширину экрана. Попробуйте это:

procedure TForm1.ShowColWidth(ColNo : Integer); 
begin 
    Caption := IntToStr(cxDBTreeList1.Columns[ColNo].Width) + '/' + IntToStr(cxDBTreeList1.Columns[ColNo].DisplayWidth); 
end; 

procedure TForm1.Button1Click(Sender: TObject); 
begin 
    ShowColWidth(0); 
end; 

procedure TForm1.FormResize(Sender: TObject); 
begin 
    ShowColWidth(0); 
end; 

procedure TForm1.FormShow(Sender: TObject); 
begin 
    ShowColWidth(0); 
end; 

Вы должны найти, что Ширина обновления собственности на время выполнения, чтобы отразить любые изменения, вызванные изменением ширины заголовка столбца.

Смежные вопросы