Einzelnen Beitrag anzeigen

Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#1

Resize einer Form verläuft proportional...

  Alt 21. Apr 2007, 12:45
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]
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat