Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > Помогите обновить процедуру...


Автор: Boyur 16.6.2012, 19:00
Есть процедура, которая подганяет размер DateTimePicker под нужную ячейку, я хочу чтобы при изменении азмера ячейки процедура обнавилась и поменяла размеры.
Размер DBGrid меняется в procedure TFormPrihodMed.FormResize(Sender: TObject); тамже меняется размер ячеек.
Нужно чтобы под новые размеры подстраивался DateTimePicker.

процедура, которая подганяет размер DateTimePicker под нужную ячейку
Код

procedure TFormPrihodMed.DBGrid1DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if (gdFocused in State) then
  begin
    if (Column.Field.FieldName = 'srok') then
    with DateTimePicker2 do
    begin
      Left := Rect.Left + DBGrid1.Left + 1;
      Top := Rect.Top + DBGrid1.Top + 1;
      Width := Rect.Right - Rect.Left + 2;
      Width := Rect.Right - Rect.Left + 2;
      Height := Rect.Bottom - Rect.Top + 2;

      Visible := True;
    end;
  end
end;


размер ячеек меняется так:
Код

DBGrid1.Height:=Round(FormPrihodMed.Height/2-120);
  DBGrid1.Width:=FormPrihodMed.Width-30;
  //TableQSkladOtdelmed_name.DisplayWidth:=Round(DBGrid2.Width*0.15);
  DBGrid1.Columns[0].Width:=Round(DBGrid1.Width*0.2-8);
  DBGrid1.Columns[1].Width:=Round(DBGrid1.Width*0.2);
  DBGrid1.Columns[2].Width:=Round(DBGrid1.Width*0.2-15);
  DBGrid1.Columns[3].Width:=Round(DBGrid1.Width*0.2-15);
  DBGrid1.Columns[4].Width:=Round(DBGrid1.Width*0.1);
  DBGrid1.Columns[5].Width:=Round(DBGrid1.Width*0.1);


DateTimePicker подстраивается под ячейку Columns[5]

Автор: DarkProg 16.6.2012, 20:26
Эмм, а как у вас вообще сейчас рисуется при такой вот строчке
Код

if (gdFocused in State) then

Счёлкните на ячейку думаю у вас перерисуется ваш пикер... закоментите её начнёт работать в любое время...

Автор: Boyur 16.6.2012, 20:50
О_о работает... спасибо )))

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)