Autor Beitrag
mk2
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 72

WIN 2000
D4 Prof
BeitragVerfasst: Do 03.04.03 12:33 
Hi,

Ich möchte gerne, dass ein spezielles Fenster (ich nenn es mal Fenster1) in meiner Application grundzätzlich nicht von den anderen Fenstern meiner Application überdeckt wird. Gibt es da ne einfache Lösung? Ich hab quasi schon so ne Art Lösung aber die funktioniert nur für ein Fenster, das heißt Fenster1 ist immer vor einem Parent-Fenster aber alle anderen Fenster können Fenster1 überdecken. Ich hab das realisiert, indem ich die CreateParams Methode von Fenster1 überschrieben hab (Hab ich hier im Forum gefunden) :

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
procedure TFenster1.CreateParams(var Params:TCreateParams);
begin
  inherited CreateParams(Params);
  Params.Style := Params.Style or WS_OVERLAPPED;
  Params.WndParent := Fenster2.Handle;
end;


MfG

mk2
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 03.04.03 12:37 
ausblenden Quelltext
1:
SetWindowLong(Form1.Handle, HWND_TOPMOST, 0, 0, 0, 0, 0, SWP_NOMOVE or SWP_NOSIZE);					
mk2 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 72

WIN 2000
D4 Prof
BeitragVerfasst: Do 03.04.03 12:47 
danke für die schnelle Antwort Luckie,

aber wie genau benutz ich das ? hab in der delphi-hilfe nachgeschaut und dort steht SetWindowLong erwartet nur 3 eingabeparameter, du hast da aber allein schon 5 Nullen drin. Der Compiler sagt dann auch: Too many actual parameters.
Und wann genau sollte ich diese Prozedur aufrufen? Im OnCreate von Form1?

MfG mk2
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 03.04.03 12:50 
Ups. Die Funktion muß natürlich SetWindowPos heißen und ShellAPI einbinden. Der Rest stimmt, also die Paremter. Und schreib es in OnCreate.
mk2 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 72

WIN 2000
D4 Prof
BeitragVerfasst: Do 03.04.03 12:58 
Yo klasse, jetzt funktionierts, du hattest bloß noch eine null zuviel drin.

MfG mk2
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 03.04.03 13:06 
mk2 hat folgendes geschrieben:
du hattest bloß noch eine null zuviel drin.

Ich liebe diese runden Kringel, davon kann ich nicht genug bekommen. :mrgreen: