Autor Beitrag
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 02.04.19 20:19 
- Nachträglich durch die Entwickler-Ecke gelöscht -
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8431
Erhaltene Danke: 439

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.2 CE
BeitragVerfasst: Mi 03.04.19 09:42 
Bringt es etwas, bei den Eigenschaften der Form bei Constraints was einzutragen?

_________________
Oel ngati kameie.
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 03.04.19 13:07 
- Nachträglich durch die Entwickler-Ecke gelöscht -
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 03.04.19 19:06 
- Nachträglich durch die Entwickler-Ecke gelöscht -
Sinspin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1191
Erhaltene Danke: 100

Win7
DXE2 Prof, Lazarus
BeitragVerfasst: Do 04.04.19 12:09 
Das sollte sich via überschreiben der WindowProc machen lassen.
Du reagierst dann auf die Events und verhinderst dass die orginal aktion in der orginal WindowProc ausgeführt wird. Für alle anderen Ereignisse rufst das Orginal auf.

_________________
Solange keine Zeile Code geschrieben ist, läuft ein Programm immer fehlerfrei.
Ich teste nicht, weil ich Angst habe Fehler zu finden.
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 04.04.19 13:01 
- Nachträglich durch die Entwickler-Ecke gelöscht -
Chiyoko
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 298
Erhaltene Danke: 8

Win 98, Win Xp, Win 10
C# (VS 2017)
BeitragVerfasst: Do 04.04.19 13:09 
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
        protected override void WndProc(ref Message m) 
        {
            switch (m.Msg)
            {
                case WM_WINDOWPOSCHANGING :
                case WM_WINDOWPOSCHANGED:
                    // Do Nothing...
                    break;   
                Default:
                    base.WndProc(ref m);
            }
        }
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 04.04.19 14:20 
- Nachträglich durch die Entwickler-Ecke gelöscht -
Sinspin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1191
Erhaltene Danke: 100

Win7
DXE2 Prof, Lazarus
BeitragVerfasst: Do 04.04.19 14:22 
Kann es sein dass ich dich mit jemandem verwechsle?

Im Beitrag zum PopupMenu ging es doch schon um die WindowProc und da war jemand mit einem ganz ähnlichen Nutzernamen aktiv.

Aber, gerne hier nochmal ein Schnipsel der zeigt wie es gehen sollte.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
type
  TForm1 = class(TForm)
  protected
    procedure WndProc(var Message: TMessage) ; override;
  private
  end;

implementation
  
procedure TForm1.WndProc(var Message: TMessage) ;
begin
  case message.Msg of
    WM_WINDOWPOSCHANGING :;
    WM_WINDOWPOSCHANGED :;
    WM_SIZE :;
    WM_NCCALCSIZE :;
  else
    inherited;
  end;
end;

_________________
Solange keine Zeile Code geschrieben ist, läuft ein Programm immer fehlerfrei.
Ich teste nicht, weil ich Angst habe Fehler zu finden.
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 04.04.19 14:29 
- Nachträglich durch die Entwickler-Ecke gelöscht -
Chiyoko
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 298
Erhaltene Danke: 8

Win 98, Win Xp, Win 10
C# (VS 2017)
BeitragVerfasst: Do 04.04.19 15:56 
user profile iconFrühlingsrolle hat folgendes geschrieben Zum zitierten Posting springen:
Die auskommentierte Stelle, ist die, die mich interessiert.
Soll sie leer stehen?


Ja, nur bei Aufruf von Base wird die Nachricht weiter geleitet.
Sinspin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1191
Erhaltene Danke: 100

Win7
DXE2 Prof, Lazarus
BeitragVerfasst: Fr 05.04.19 11:54 
user profile iconFrühlingsrolle hat folgendes geschrieben Zum zitierten Posting springen:
Das war nicht mein Topic. Ich habe dsrin, so wie du, eine Hilfestellung geleistet.
Das Thema Popupmenu hat so garnichts mit dem Thema hier zu tun, außer die WndProc() Methode, die ein Bestandteil von beiden Themen ist.

Ich hatte oben WindowProc erwähnt und bin davon ausgegangen dass du noch weiter mitgelesen hast in dem Beitrag wo es auch schon auf WindowProc hinauslief. Mein Sample verhindert jedenfalls dass die Nachrichten vom Fenster verarbeitet werden können. Ob dir das hilft bei deinem Problem musst du testen.

_________________
Solange keine Zeile Code geschrieben ist, läuft ein Programm immer fehlerfrei.
Ich teste nicht, weil ich Angst habe Fehler zu finden.
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 05.04.19 17:41 
- Nachträglich durch die Entwickler-Ecke gelöscht -
mandras
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 403
Erhaltene Danke: 97

Win 7
D6 Prof, XE2 Prof
BeitragVerfasst: Fr 05.04.19 21:41 
Hallo Frühlingsrolle,

ich habe Deinen Beispielcode in D6 getestet, ebenso mit Delphi XE2.
Ergebnis:
Der Fenstertitel wird nicht mehr gesetzt wenn ich den Button betätige,
ebenfalls hat das Fenster beim Programmstart keinen Titel mehr
da auch das initiale SetText abgefangen wird.
Sinspin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1191
Erhaltene Danke: 100

Win7
DXE2 Prof, Lazarus
BeitragVerfasst: So 07.04.19 13:45 
Hey.

Habe gerade mal beide Beispiele ausprobiert. Caption verhindern klappt. Und die anderen Botschaften verhindern hat ein geradezu witziges Ergebnis bei der Darstellung des Fensters zur Folge.

Zeig mal bitte dein Testprojekt. Ist sicher nur eine Kleinigkeit.

_________________
Solange keine Zeile Code geschrieben ist, läuft ein Programm immer fehlerfrei.
Ich teste nicht, weil ich Angst habe Fehler zu finden.
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: So 07.04.19 15:55 
- Nachträglich durch die Entwickler-Ecke gelöscht -
Sinspin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1191
Erhaltene Danke: 100

Win7
DXE2 Prof, Lazarus
BeitragVerfasst: Mo 08.04.19 18:59 
Sooo, Debug Mode/Release Mode unter 32Bit in XE2.
Projekt heißt zwar noch PopupFinder aber hat damit nix mehr zu tuen. Hatte schlicht keine Lust das umzubenennen :zwinker:
Via "TestCaption" = true/false kann man zwischen beiden Tests umschalten und muss dann neu übersetzen.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
procedure TForm1.WndProc(var Message: TMessage) ;
const
  TestCaption = false;

begin
  if not TestCaption then
  begin
    case message.Msg of
      WM_WINDOWPOSCHANGING : Log('WM_WINDOWPOSCHANGING');
      WM_WINDOWPOSCHANGED : Log('WM_WINDOWPOSCHANGED');
      WM_SIZE : Log('WM_SIZE');
      WM_NCCALCSIZE : Log('WM_NCCALCSIZE');
    else
      begin
        //Log('else');  <-- seems there is no way to get a log output working
        inherited;
      end;
    end;
  end
  else
  begin
    if Message.msg = WM_SETTEXT then
      Log('WM_SETTEXT : '+PChar(Message.LParam))
    else
    begin
      //Log('else'); <-- seems there is no way to get a log output working
      inherited WndProc(Message);
    end;
  end;
end;
Einloggen, um Attachments anzusehen!
_________________
Solange keine Zeile Code geschrieben ist, läuft ein Programm immer fehlerfrei.
Ich teste nicht, weil ich Angst habe Fehler zu finden.
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 08.04.19 19:34 
- Nachträglich durch die Entwickler-Ecke gelöscht -
Sinspin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1191
Erhaltene Danke: 100

Win7
DXE2 Prof, Lazarus
BeitragVerfasst: Mo 08.04.19 23:23 
D10.2, 32Bit unter Win10 64Bit. Geht auch. Caption und Size.
Allerdings scheint es wirklich eine Minimalgröße zu geben die man nicht unterschreiten kann. Sehr interessant.

Ich habe ein Programm, glaub ich mit XE2 übersetzt, hier laufen das ist deutlich kleiner vom Fenster als die Minimalgröße.
Es hat allerdings keinen üblichen Fensterrahmen sondern ist via WindowRegion zugeschnitten.
Der Teil den ich nicht kleiner bekommen habe ist somit einfach unsichtbar.

_________________
Solange keine Zeile Code geschrieben ist, läuft ein Programm immer fehlerfrei.
Ich teste nicht, weil ich Angst habe Fehler zu finden.
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 09.04.19 10:02 
- Nachträglich durch die Entwickler-Ecke gelöscht -