Autor Beitrag
Jakob_Ullmann
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1747
Erhaltene Danke: 15

Win 7, *Ubuntu GNU/Linux*
*Anjuta* (C, C++, Python), Geany (Vala), Lazarus (Pascal), Eclipse (Java)
BeitragVerfasst: Fr 16.03.07 14:22 
Hallo.

Bastle gerade an einem Textbearbeitungsprogramm.
Diesmal wollte ich mich aber nicht mit dem Standard-Windowsdesign zufriedenstellen.
Also hab ich mit Photoshop Elements (Adobe) eine JPEG gemacht und diese als "Header" benutzt.
Dazu habe ich BorderStyle auf bsNone gesetzt.
Nun meine Frage:
Wie schaffe ich es, das Formular zu verschieben?
Das habe ich schon probiert:
Bei MouseDown auf JPEG Variable "MV" auf true setzen
und dann bei MouseMove (MV = True) Das Ding verschieben (Left := X; Top := Y;).
Dann verschiebe ich das Formular um Den Left- und Topwert des Bildes.
Anschließend rücke ich das Bild wieder auf 2; 2.
Aber dann ist komischerweise das Formular weg (nach kurzem Flackern).
Ich habe gedacht, dass ich bei download.freenet.de sowas wie einen Formular-Designer finden würde,
hab aber nichts gefunden.
Kann mir jemand helfen?
user defined image


Moderiert von user profile iconChristian S.: Topic aus Sonstiges (Delphi) verschoben am Fr 16.03.2007 um 17:01
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: Fr 16.03.07 14:33 
Ist ne ganz einfache Kleinigkeit, die man nur kennen muss ;)
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
Procedure TForm1.Form1MouseDown(Sender: TObject; Button: TMouseButton;
    Shift: TShiftState; X, Y: Integer);
Begin
    ReleaseCapture;
    Perform(WM_SYSCOMMAND, $F012, 0);
End;

Das war's schon ;)

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
Jakob_Ullmann Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1747
Erhaltene Danke: 15

Win 7, *Ubuntu GNU/Linux*
*Anjuta* (C, C++, Python), Geany (Vala), Lazarus (Pascal), Eclipse (Java)
BeitragVerfasst: Fr 16.03.07 16:06 
Hallo JayEff.
Funktioniert bestens!
Danke vielmals!
War ja wirklich nur eine winzige Kleinigkeit.
Was mich ein bisschen verwirrt sind die Zahlen 61458 (#F012) und 0.
Könntest du (oder jemand anderes) mir noch erklären, was die bedeuten?
Ich habe nämlich im Hilfefile nichts zu "ReleaseCapture" gefunden.
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: Fr 16.03.07 16:27 
Das erste, was ich zu dem Thema versuchen würd, wäre Suche im MSDN PERFORM und um heraus zufinden, was die WM_SYSCOMMAND bringt, Suche im MSDN WM_SYSCOMMAND.
Ausserdem Suche im MSDN RELEASECAPTURE
Warum msdn? Weil ich schwer vermute, dass das Windows API Funktionen sind und damit nicht in der Delphi-Hilfe erklärt werden. $F012 wird wohl auch irgendeine Bedeutung haben, die wir herausfinden, sobald wir wissen, welche Parameter Perform erwartet.
Hey: Ganz ehrlich, ich weiß nicht was dieser Code GENAU macht. Aber jemand hat mir mal erzählt: Ein Programmierer muss nicht alles wissen. Er muss wissen, wo er es finden kann! :D

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
Blackheart666
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2195

XP
D3Prof, D6Pers.
BeitragVerfasst: Fr 16.03.07 16:59 
Du kannst auch indem Du die Werte veränderst $F001, $F002 die Form in sämtlichen Richtungen vergrößer, verkleinern etc.

_________________
Blackheart666
Der Irrsinn ist bei Einzelnen etwas Seltenes, - aber bei Gruppen, Parteien, Völkern, Zeiten die Regel. (Friedrich Nietzsche)
Lannes
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2352
Erhaltene Danke: 4

Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
BeitragVerfasst: Fr 16.03.07 18:54 
Hallo,

dort [url=www.dsdt.info/tipps/?id=449]dsdt: Link [/url]findet man eine detailierte Aufstellung der Werte $F001, $F002 ... und ihre Bedeutung.

_________________
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
Jakob_Ullmann Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1747
Erhaltene Danke: 15

Win 7, *Ubuntu GNU/Linux*
*Anjuta* (C, C++, Python), Geany (Vala), Lazarus (Pascal), Eclipse (Java)
BeitragVerfasst: Di 20.03.07 16:44 
Dankeschön.
Sowas hätte ich ja wirklich nicht gedacht.
...Dass es sich nicht um Zahlen, die irgendwas mit Zahlen zu tun haben, handelt.
Nun noch eine Frage:
ich habe das mal bei anderen von mir programmierten Programmen versucht.
Da hat er einen Fehler gemeldet.
In welcher Unit ist WM_SYSCOMMAND deklariert?
Wenn ich etwas überlesen habe, bitte ich um Entschuldigung, glaube es aber nicht.
Blackheart666
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2195

XP
D3Prof, D6Pers.
BeitragVerfasst: Di 20.03.07 17:22 
Setz mal WM_SYSCOMMAND in den Delphieditor und geh mal mit dem Cursor dran. :wink:

_________________
Blackheart666
Der Irrsinn ist bei Einzelnen etwas Seltenes, - aber bei Gruppen, Parteien, Völkern, Zeiten die Regel. (Friedrich Nietzsche)