AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Fenster "unverschiebbar" machen

Ein Thema von phXql · begonnen am 30. Jun 2004 · letzter Beitrag vom 30. Jun 2004
Antwort Antwort
Seite 2 von 3     12 3      
Tubos

Registriert seit: 25. Feb 2004
Ort: Yspertal (Niederösterreich)
1.014 Beiträge
 
Delphi 7 Personal
 
#11

Re: Fenster "unverschiebbar" machen

  Alt 30. Jun 2004, 18:21
Zitat:
Nimm WM_MOVING und gib via Message.Result := 0 zurück.
genau, WM_MOVING ist wahrscheinlich die beste Idee. Es wird VOR dem Verschieben ausgelöst.
Lukas
  Mit Zitat antworten Zitat
StefanDP

Registriert seit: 11. Apr 2004
294 Beiträge
 
#12

Re: Fenster "unverschiebbar" machen

  Alt 30. Jun 2004, 18:23
Zitat von Tubos:
Zitat:
Nimm WM_MOVING und gib via Message.Result := 0 zurück.
genau, WM_MOVING ist wahrscheinlich die beste Idee. Es wird VOR dem Verschieben ausgelöst.
Und mit der "Antowrt" sagst, du: NICHT verschieben
  Mit Zitat antworten Zitat
Benutzerbild von phXql
phXql

Registriert seit: 11. Mär 2004
Ort: Mühldorf
824 Beiträge
 
#13

Re: Fenster "unverschiebbar" machen

  Alt 30. Jun 2004, 18:27
Zitat von StefanDP:
Zitat von Tubos:
Zitat:
Nimm WM_MOVING und gib via Message.Result := 0 zurück.
genau, WM_MOVING ist wahrscheinlich die beste Idee. Es wird VOR dem Verschieben ausgelöst.
Und mit der "Antowrt" sagst, du: NICHT verschieben
1stens): wie oft durchlaufe ich die funktion, wenn ich das fenster verschiebe? und dann jedes mal schauen, ob die form im Dock-Modus is (manchmal darf man sie verschieben)? das frisst rechenzeit, oder?

2tens): bei mir will die funktion nich

Delphi-Quellcode:
    procedure WMMoving(var msg : TMessage); message WM_MOVING;

procedure TFormMain.WMMoving(var msg : TMessage);
begin
  msg.Result := 0;
end;
geht leider nich. form kann man trotzdem noch verschieben. :/
"Dunkel die andere Seite ist"
"Yoda! Halts Maul und iss deinen Toast!"
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#14

Re: Fenster "unverschiebbar" machen

  Alt 30. Jun 2004, 18:38
Moin phXql,

fang doch WM_NCHITTEST ab, und für den Fall, das jemand in die Titelleiste klickt wird zurückgegeben, dass es im Clientbereich war

Delphi-Quellcode:
type
  TForm1 = class(TForm)
  private
  public
    procedure WMNCHITTEST(var msg : TMessage); message WM_NCHITTEST;
  end;

implementation

procedure TForm1.WMNCHITTEST(var msg: TMessage);
begin
  inherited;
  if msg.Result = HTCAPTION then msg.Result := HTCLIENT;
end;
PS:
Über das Systemmenü des Formulares geht es dann allerdings immer noch

Seltsamer Weise funktioniert

  EnableMenuItem(GetSystemMenu(self.Handle,false),SC_MOVE,MF_BYCOMMAND or MF_GRAYED); nämlich nicht. Mit SC_CLOSE ginge es
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von phXql
phXql

Registriert seit: 11. Mär 2004
Ort: Mühldorf
824 Beiträge
 
#15

Re: Fenster "unverschiebbar" machen

  Alt 30. Jun 2004, 18:41
wenn es über das systemmenü noch geht, isses nich so schön. aber trotzdem danke ich hab jetzt vorrübergehend mal das align auf alCustom gestellt, bis mir entweder einfällt, wie mans lösen könnte, oder mir einfällt, wieso das WM_MOVING-dings nich will...
"Dunkel die andere Seite ist"
"Yoda! Halts Maul und iss deinen Toast!"
  Mit Zitat antworten Zitat
neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#16

Re: Fenster "unverschiebbar" machen

  Alt 30. Jun 2004, 19:03
Erstmal muss ich mich Entschuldigen:

Weise bitte Result bei WM_MOVING eine 1 zu.


Zu der WM_NCHITTEST Variante:

Die gefällt mir nicht. Da dadurch auch der Rechtsklick nicht mehr das Popup-Fenster anzeigt.
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#17

Re: Fenster "unverschiebbar" machen

  Alt 30. Jun 2004, 20:32
Moin Neolithos,

Zitat von neolithos:
Die gefällt mir nicht. Da dadurch auch der Rechtsklick nicht mehr das Popup-Fenster anzeigt.
Meinst Du das Systemmenü?
Das funktioniert dann noch.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#18

Re: Fenster "unverschiebbar" machen

  Alt 30. Jun 2004, 20:39
Zitat von Christian Seehase:
Meinst Du das Systemmenü?
Das funktioniert dann noch.
Ja! Sicher! *verwirrt*
Du sagst doch, wenn die Titelleiste angeklickt wird, dass die Titelleiste Client-Area ist. Dadurch sollte doch das Systemmenu nicht mehr durch Rechtsklick auf die Titelleiste angezeigt werden.

Ein weiterer Nachteil ist, dass du nicht auf die Verschiebungen mittels Tastatur reagierst.

Ein Nachteil meiner Variante ist, dass dieses graue Rechteck, eventuell angezeigt werden könnte.
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#19

Re: Fenster "unverschiebbar" machen

  Alt 30. Jun 2004, 21:01
Moin Neolithos,

Zitat von neolithos:
Ein weiterer Nachteil ist, dass du nicht auf die Verschiebungen mittels Tastatur reagierst.
leider wahr (), auch wenn wohl > 99% aller Anwender nicht wissen, dass das geht

Wenn mir mal jemand verraten könnte, wo ich beim EnableMenuItem mit SC_MOVE den Denkfehler mache (zumal es mit SC_CLOSE einwandfrei funktioniert).
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von phXql
phXql

Registriert seit: 11. Mär 2004
Ort: Mühldorf
824 Beiträge
 
#20

Re: Fenster "unverschiebbar" machen

  Alt 30. Jun 2004, 21:18
Zitat von Christian Seehase:
Moin Neolithos,

Zitat von neolithos:
Ein weiterer Nachteil ist, dass du nicht auf die Verschiebungen mittels Tastatur reagierst.
leider wahr (), auch wenn wohl > 99% aller Anwender nicht wissen, dass das geht

Wenn mir mal jemand verraten könnte, wo ich beim EnableMenuItem mit SC_MOVE den Denkfehler mache (zumal es mit SC_CLOSE einwandfrei funktioniert).
wenn ich bei delphi das align auf alCustom stelle, kann die form nich verschoben werden, und im systemmenü sind alle einträge ausgegraut, BIS auf den Move-eintrag. kann der vll. gar nich ausgegraut werden?

OT: wie kann man denn nun ein fenster mit der tastatur verschieben?
"Dunkel die andere Seite ist"
"Yoda! Halts Maul und iss deinen Toast!"
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz