Rahmenloses Fenster mit Hilfe des MainMenus verschieben
-
- Beiträge: 734
- Registriert: Do 27. Sep 2012, 00:07
- OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
- CPU-Target: x86_64-win64
- Wohnort: Hamburg
Re: Rahmenloses Fenster mit Hilfe des MainMenus verschieben
Für eine benutzerdefinierte Titelzeile mit Hauptmenü könntest meine Toolbarmenü-Kompenente, dass ich vor vielen Jahren hier und im englischen Forum veröffentlicht hatte und ein Projekt, welches hier von einem Benutzer entwickelt wurde verwenden. Er hat sein Beispiel zu BGRA-Controls gespendet, du findest es bei BGRA-Controls-Test unter dem Namen BGRA-Ribbon.
Ich habe heute festgestellt, dass meine Kompente nicht mehr richtig funktioniert, mann muss jeden Hauptmenu-Item klicken, damit Untermenüs geöffnet wird. Ich poste es hier nochmal mit einem Beispiel. Ich glaube es funktionierte mit Lazarus 1.4/1.6 und WinXP, es ist über 10 Jahre her.
Ich habe heute festgestellt, dass meine Kompente nicht mehr richtig funktioniert, mann muss jeden Hauptmenu-Item klicken, damit Untermenüs geöffnet wird. Ich poste es hier nochmal mit einem Beispiel. Ich glaube es funktionierte mit Lazarus 1.4/1.6 und WinXP, es ist über 10 Jahre her.
- Dateianhänge
-
tmenutoolbar-pub.zip
- (142.67 KiB) 115-mal heruntergeladen
-
- Beiträge: 227
- Registriert: Mo 3. Jan 2011, 13:34
- OS, Lazarus, FPC: Win11 (L 3.0 FPC 3.2.2)
- CPU-Target: 64Bit
- Wohnort: Nürnberg
Re: Rahmenloses Fenster mit Hilfe des MainMenus verschieben
@soner:
Deine Komponente läßt sich nicht kompilieren! (Win10, Lazarus 3.6)
Deine Komponente läßt sich nicht kompilieren! (Win10, Lazarus 3.6)
- Dateianhänge
-
- Screenshot 2024-10-05 132852.png (94.74 KiB) 2086 mal betrachtet
-
- Beiträge: 734
- Registriert: Do 27. Sep 2012, 00:07
- OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
- CPU-Target: x86_64-win64
- Wohnort: Hamburg
Re: Rahmenloses Fenster mit Hilfe des MainMenus verschieben
Das ist 64Bit Problem. Ich verwende wegen ein Programm noch FPC 32 Bit.
Ich kann das mal morgen anschauen.
Falls jemand das anschauen möchte, dann installiert die Komponente nicht. Kopiert einfach toolbarmenu.pas in demo2-Ordner, dann könnt ihr die Unit debuggen.
Ich kann das mal morgen anschauen.
Falls jemand das anschauen möchte, dann installiert die Komponente nicht. Kopiert einfach toolbarmenu.pas in demo2-Ordner, dann könnt ihr die Unit debuggen.
-
- Beiträge: 7
- Registriert: Mi 3. Jan 2024, 19:06
- OS, Lazarus, FPC: Win10x64 / Lazarus 3.8 / FPC 3.2.2
- Wohnort: PLZ 96xxx
Re: Rahmenloses Fenster mit Hilfe des MainMenus verschieben
Moin zusammen,
durch einfaches Ersetzen von
Pt:= SmallPointToPoint(TSmallPoint(Msg.lParam));
-> Pt:= Point(TPoint(Msg.lParam));
konnte ich das *.lpk erfolgreich unter Win64 kompilieren und installieren,
isses wirklich so simpel oder hab ich was übersehen?
durch einfaches Ersetzen von
Pt:= SmallPointToPoint(TSmallPoint(Msg.lParam));
-> Pt:= Point(TPoint(Msg.lParam));
konnte ich das *.lpk erfolgreich unter Win64 kompilieren und installieren,
isses wirklich so simpel oder hab ich was übersehen?
- Dateianhänge
-
- tmenutoolbar-pub_demo2.jpg (21.08 KiB) 2059 mal betrachtet
-
- Beiträge: 227
- Registriert: Mo 3. Jan 2011, 13:34
- OS, Lazarus, FPC: Win11 (L 3.0 FPC 3.2.2)
- CPU-Target: 64Bit
- Wohnort: Nürnberg
Re: Rahmenloses Fenster mit Hilfe des MainMenus verschieben
Hallo diy,diy hat geschrieben: Di 8. Okt 2024, 12:32 Moin zusammen,
durch einfaches Ersetzen von
Pt:= SmallPointToPoint(TSmallPoint(Msg.lParam));
-> Pt:= Point(TPoint(Msg.lParam));
konnte ich das *.lpk erfolgreich unter Win64 kompilieren und installieren,
isses wirklich so simpel oder hab ich was übersehen?
super, dass Du das kompilieren konntest.
Dein Screenshot zeigt aber nicht unbedingt ein "rahmenloses" Fenster, oder täuscht mich die Optik?
-
- Beiträge: 7
- Registriert: Mi 3. Jan 2024, 19:06
- OS, Lazarus, FPC: Win10x64 / Lazarus 3.8 / FPC 3.2.2
- Wohnort: PLZ 96xxx
Re: Rahmenloses Fenster mit Hilfe des MainMenus verschieben
Nein, die Optik täuscht nicht.
Der Beitrag bezieht sich nur auf den vorherigen von Soner.
viewtopic.php?p=138806#p138806
versucht - und bei mir hat das zusammengefrickelte Demo dann auch geklappt.
An einer Kombination der beiden habe ich mich nicht versucht ;-)
Der Beitrag bezieht sich nur auf den vorherigen von Soner.
Am rahmenlosen Fenster geschubse habe ich mich hierSoner hat geschrieben: Fr 4. Okt 2024, 23:14 ...
Ich habe heute festgestellt, dass meine Kompente nicht mehr richtig funktioniert, mann muss jeden Hauptmenu-Item klicken, damit Untermenüs geöffnet wird. Ich poste es hier nochmal mit einem Beispiel. Ich glaube es funktionierte mit Lazarus 1.4/1.6 und WinXP, es ist über 10 Jahre her.
viewtopic.php?p=138806#p138806
versucht - und bei mir hat das zusammengefrickelte Demo dann auch geklappt.
An einer Kombination der beiden habe ich mich nicht versucht ;-)
-
- Beiträge: 734
- Registriert: Do 27. Sep 2012, 00:07
- OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
- CPU-Target: x86_64-win64
- Wohnort: Hamburg
Re: Rahmenloses Fenster mit Hilfe des MainMenus verschieben
Schau auf Bildschirmfoto, wenn du jetzt dein Mauszeiger auf Bearbeiten und Hilfe bewegst, dann müssten diese Menü geöffnet werden ohne ein Mausknopf zu klicken. Es funktioniert nicht mehr.diy hat geschrieben: Di 8. Okt 2024, 12:32 Moin zusammen,
durch einfaches Ersetzen von
Pt:= SmallPointToPoint(TSmallPoint(Msg.lParam));
-> Pt:= Point(TPoint(Msg.lParam));
konnte ich das *.lpk erfolgreich unter Win64 kompilieren und installieren,
isses wirklich so simpel oder hab ich was übersehen?
Code: Alles auswählen
function MTBarHookProc(nCode: Integer; wParam: Longint; var Msg: TMsg): Longint; stdcall;
//...
if (TB<>HookButton) then begin
// folgende Zeile hat kein Effekt mehr:
PostMessage(Toolbar.Handle, WM_LBUTTONDOWN, MK_LBUTTON, MakeLong(Pt.x, Pt.y));
{Auch wenn man es durch diese ersetzt:
//HookButton.Click;
//TB.Click;
}
SendDebugEx('HOOK:'+HookButton.Caption+' _ '+TB.Caption+' _ x:'+Pt.x.ToString+' _ y:'+Pt.y.ToString,dlInformation);
end;
//...
end;
-
- Beiträge: 734
- Registriert: Do 27. Sep 2012, 00:07
- OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
- CPU-Target: x86_64-win64
- Wohnort: Hamburg
Re: Rahmenloses Fenster mit Hilfe des MainMenus verschieben
Ich veröffentliche hier mein angepasstes Beispiel aus dem Beitrag von damals.
Ich glaube, du sollstest damit etwas anfangen können.
Ich glaube, du sollstest damit etwas anfangen können.
- Dateianhänge
-
FormOhneTitelzeileW11pub.zip
- (64.24 KiB) 99-mal heruntergeladen
-
- Beiträge: 7
- Registriert: Mi 3. Jan 2024, 19:06
- OS, Lazarus, FPC: Win10x64 / Lazarus 3.8 / FPC 3.2.2
- Wohnort: PLZ 96xxx
Re: Rahmenloses Fenster mit Hilfe des MainMenus verschieben
An der Lösung von vorherkirchfritz hat geschrieben: Di 8. Okt 2024, 18:22 Hallo diy,
super, dass Du das kompilieren konntest.
Dein Screenshot zeigt aber nicht unbedingt ein "rahmenloses" Fenster, oder täuscht mich die Optik?
(...Pt:= SmallPointToPoint(TSmallPoint(Msg.lParam)) -> Pt:= Point(TPoint(Msg.lParam))...)
und dem demo2 von Soner habe ich mich erneut versucht,
da die Toolbar-Komponente MouseDown, MouseUp und MouseMove zur Verfügung stellt lässt sich auch die Verschiebung des Fensters mittels rechter Mousetaste bei Positionierung innerhalb des freien Toolbar-Bereichs realisieren.
- Dateianhänge
-
demo2-rahmenlos-verschieben.zip
- (139.39 KiB) 86-mal heruntergeladen