Mh, zuerstmal muss gesagt werden, dass es ganz nett wäre für jede Frage einen extra Thread zu beginnen, jetzt stehen unter einer Überschrift gleich mehrerer verschiedene Fragen..
Zur Beantwortung:
1.
Um das Fenster trotzdem verschiebbar zu machen kannst du dieses hier tun:
Quelltext
1: 2: 3: 4: 5: 6:
| procedure TForm1.Memo1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin ReleaseCapture; Form1.perform(WM_SysCommand, $F012, 0); end; |
Habe die Funktion direkt aus einem meiner Programme entnommen. Hier liegt eine Memo über das ganze Formular (align=alClient). Klicke ich auf das Memo und halte die linke Maustaste gedrückt kann ich das Fenster verschieben. Du musst also den Code in die OnMouseDown-Funktion der Komponente einfügen, welche nachher als Fläche zum Verschieben dienen soll, zBsp Form1.
2.
Indem du der Komponente dieses Event vererbst.
3.
Niemand hier kennt dein Programm deswegen kann dir darauf niemand eine Antwort geben...
4.
Dazu solltest du dir die Hilfe der Komponente ansehen, welche du zum Download benutzt. Wenn keine vorgefertigte Angabe der bislang heruntergeladenen Datei in % da ist so musst du dir das eben selber errechnen. Kleiner Tipp:
Bisher in % = Bisher heruntergeladene bytes / Dateigröße in bytes * 100
Wenn du angeben würdest, welche Komponente du benutzt, könnte man dir sicher besser helfen. Also in Zukunft etwas genauer bitte..
MfG, Raphael