Ich habe folgenden Code um meine Form zu vergrößern bzw. zu verkleinern:
Delphi-Quellcode:
procedure TfrmSpeedMemo.FormMouseWheelDown(Sender: TObject; Shift: TShiftState;
MousePos: TPoint; var Handled: Boolean);
begin
if Shift = [ssShift] then
begin
Height := Height + 4;
Top := Top - 2;
end;
if [ssCtrl] = Shift then
begin
Width := Width + 4;
Left := Left - 2;
end;
end;
procedure TfrmSpeedMemo.FormMouseWheelUp(Sender: TObject; Shift: TShiftState;
MousePos: TPoint; var Handled: Boolean);
begin
if ssShift in Shift then
begin
Height := Height - 4;
Top := Top + 2;
end;
if ssCtrl in Shift then
begin
Width := Width - 4;
Left := Left + 2;
end;
end;
An sich sollte es theoretisch funktionieren! Aber das tut es nicht, weil er Width und Height in beiden Fällen verändert.
Nun habe ich mal debugt, und mir ist aufgefallen, dass wenn man Strg drückt, dass er ordnunggemäßt die Form resized... Aber dann gibt es ein 2 Durchlauf (o.O) ohne Mausradbewegung und mit
Shift = [ssShift]... Ich habe keine Anhnung woran es liegen könnte
[edit]Mit [ssAlt] funktioniert es seltsamerweise...[/edit]