Мониторинг обменных курсов валют
18c0693f

Обработчик события


procedure TFrmMain.AdjustClick(Sender: TObject);
begin if (Adjust.Checked = True) then begin if ((PopupMenu1.PopupComponent <>
ComponentBeingAdjusted) and (PopupMenu1.PopupComponent <>
SizingRect1)) then begin MessageDlg( 'You can only adjust one element at a time.' + #13#10 + 'Please unselect the current element before continuing.', mtWarning, [mbOK], 0);
Exit; end; Adjust.Checked := False; With TWinControl(ComponentBeingAdjusted) do begin Top := SizingRect1.Top; Left := SizingRect1.Left; Width := SizingRect1.Width; Height := SizingRect1.Height; end; SizingRect1.Cursor := crDefault; SizingRect1.Visible := False; SizingRect1.Top := -40; SizingRect1.Left := -40; SizingRect1.Width := 40; SizingRect1.Height := 40; MiniInspector1.ShowThisComponent (ComponentBeingAdjusted);
ComponentBeingAdjusted := Self; { т. е. выделенный элемент } { отсутствует. } end else begin if ((ComponentBeingAdjusted <>
Self) and (PopupMenu1.PopupComponent <>
ComponentBeingAdjusted)) then begin MessageDlg( 'You can only adjust one element at a time.' + #13#10 + 'Please unselect the current element before continuing.', mtWarning, [mbOK], 0);
Exit; end; Adjust.Checked := True; ComponentBeingAdjusted := PopupMenu1.PopupComponent; With TWinControl (PopupMenu1.PopupComponent) do begin SizingRect1.Top := Top; SizingRect1.Left := Left; SizingRect1.Width := Width; SizingRect1.Height := Height; end; SizingRect1.Visible := True; MiniInspector1.ShowThisComponent (ComponentBeingAdjusted);
end; end;

После выполнения различных проверок TSizingRect совмещается с изменяемым элементом (переменная ComponentBeingAdjusted была создана для тех процедур, которые не могут использовать значение PopupMenu1.PopupComponent). Делается это так:

ComponentBeingAdjusted := PopupMenu1.PopupComponent; With TWinControl(PopupMenu1.PopupComponent) do begin SizingRect1.Top := Top; SizingRect1.Left := Left; SizingRect1.Width := Width; SizingRect1.Height := Height; end; SizingRect1.Visible := True; MiniInspector1.ShowThisComponent (ComponentBeingAdjusted);

При этом компонент SizingRect остается активным. Его можно перемещать и масштабировать мышью, как показано на Рисунок 12.5.

Завершив настройку элемента, пользователь снова щелкает правой кнопкой мыши, чтобы сохранить или отменить изменения (см. Рисунок 12.6).





Все публикации раздела



Самый выгодный курс обмена валюты