Miranda NG Official Community Forum

Other languages speaking Miranda NG users => Deutsch => Topic started by: mida on 09 02 2015, 13:13:54

Title: Kontextmenü vom Chatfenster
Post by: mida on 09 02 2015, 13:13:54
Ich hab da ein kleines Problem, wenn ich zb. auf Benutzer klicke dann kommt das richtige Kontextmenü aber wenn ich die Maus horizontal bewege und darunter die Schaltfläche Nachrichtenverlauf dann verschwindet das Benutzer Kontextmenü.
Mit den klick auf Benutzer hab ich doch das Kontextmenü ausgewählt und nur durch bewegen der Maus sollte es nicht verschwinden.
Ich verwende TabSRMM.dll v.3.4.0.8 [6 Feb 2015 9:08:08]
Title: Re: Kontextmenü vom Chatfenster
Post by: Wishmaster on 09 02 2015, 13:43:38
Ja, ist bekannt. Leider nicht ganz so einfach zu beheben, da TABSrmm nur das Menü aus der Kontaktliste aufruft und das eigendliche Menu darunter immer noch den Fokus hat.
Title: Re: Kontextmenü vom Chatfenster
Post by: mida on 09 02 2015, 14:05:40
ah ok, schade dass nicht so einfach zu beheben ist
Title: Re: Kontextmenü vom Chatfenster
Post by: White-Tiger on 09 02 2015, 14:31:29
eigl. is das ja ein feature das so sein sollte. (da es sich wie Windows verhält)
Allerdings wäre die frage wieso das context menü nicht unter dem Menüpunkt geöffnet wird, sondern mitten drin?
Title: Re: Kontextmenü vom Chatfenster
Post by: Wishmaster on 09 02 2015, 14:53:24
eigl. is das ja ein feature das so sein sollte. (da es sich wie Windows verhält)
Allerdings wäre die frage wieso das context menü nicht unter dem Menüpunkt geöffnet wird, sondern mitten drin?
Na weil es eben nur einen Miranda-Service aufruft: MS_CLIST_MENUBUILDCONTACT

Siehe controls.cpp, Zeile 403.

Dieses Menu ist dann eben nicht an die Menuleiste in TABSrmm gebunden sondern eben "eigenständig".
Title: Re: Kontextmenü vom Chatfenster
Post by: mida on 09 02 2015, 16:35:22
hab das gerade ausprobiert bei Windows Explorer und ein paar andere Programme.
Hab das nie gebraucht, weil die jeweiligen Schaltflächen eh immer selbsterklärend sind.
Mir fiel das nie auf bis auf Miranda's Tabsrmm, weil "Unterkontakte" im Kontextmenü manchmal in der gleichen Höhe war wie die Schaltflächen darunter womit ich dann den bestimmten Unterkontakt so nicht auswählen konnte. ;D
Title: Re: Kontextmenü vom Chatfenster
Post by: Wishmaster on 09 02 2015, 17:10:46
Mir fiel das nie auf bis auf Miranda's Tabsrmm, weil "Unterkontakte" im Kontextmenü manchmal in der gleichen Höhe war wie die Schaltflächen darunter womit ich dann den bestimmten Unterkontakt so nicht auswählen konnte. ;D
Bezüglich der Unterkontakte:
Rechts unten in der Statusleiste gibt es ein Icon mit einem Metakontakt-Symbol, das ist eigentlich dazu gedacht, zwischen mehreren Metakontakten zu wechseln (Linksklick). :)
Title: Re: Kontextmenü vom Chatfenster
Post by: mida on 09 02 2015, 18:01:56
ok das fiel mir auch nie auf, danke.
bleibt dann die ganze sitzung lang der Unterkontakt bevorzugt, egal ob andere Unterkontakte on gehen bzw. der eine Unterkontakt off geht?
Title: Re: Kontextmenü vom Chatfenster
Post by: Wishmaster on 09 02 2015, 18:09:52
bleibt dann die ganze sitzung lang der Unterkontakt bevorzugt, egal ob andere Unterkontakte on gehen bzw. der eine Unterkontakt off geht?
Ja, ich glaube schon...  ???
Title: Re: Kontextmenü vom Chatfenster
Post by: mida on 09 02 2015, 18:12:46
ok, mal schaun  :)
Title: Re: Kontextmenü vom Chatfenster
Post by: White-Tiger on 09 02 2015, 18:32:52
Na weil es eben nur einen Miranda-Service aufruft: MS_CLIST_MENUBUILDCONTACT

Siehe controls.cpp, Zeile 403.

Dieses Menu ist dann eben nicht an die Menuleiste in TABSrmm gebunden sondern eben "eigenständig".
Das erklärt meine Frage nicht^^
Angezeigt wird das menü zu 100% von TabSRMM, erstellt wird es nur von Miranda.
Der code in controls.cpp suggestiert sogar das versucht wird das menu direkt unter dem menü zu öffnen.. zumindest sollten pt.x und pt.y stimmen.
Gehe dann halt davon aus das sein chatfenster einfach zuweit unten am Bildschirmrand war/ist^^
Title: Re: Kontextmenü vom Chatfenster
Post by: Wishmaster on 09 02 2015, 18:35:56
Ja, daran wird es wohl liegen, wenn genug Platz da ist dann wird es bei mir auch richtig angezeigt (hatte es vorhin nicht getestet).
Title: Re: Kontextmenü vom Chatfenster
Post by: White-Tiger on 09 02 2015, 18:40:25
Soweit ich das sehe öffnen andere programme das menü dann oberhalb wenn nach unten kein platz is... Also Notepad2 als auch WinSCP machen es so.
Man müsste dann nur vor dem display die größe des menüs incl. workspace größe abfragen^^ Macht es um einiges komplizierter xD

Nachtrag:
oder TrackPopupMenuEx (https://msdn.microsoft.com/en-us/library/windows/desktop/ms648003%28v=vs.85%29.aspx) und dann den menü bereich als nicht-überlappbare region setzen..

Nachtrag2:
also quasi so (untested):
Code: (cpp) [Select]
GetWindowRect(m_hwndToolbar,&rcButton);
::TrackPopupMenuEx(hMenu, 0, pt.x, pt.y, m_pContainer->hwnd, rcButton);
Title: Re: Kontextmenü vom Chatfenster
Post by: Wishmaster on 09 02 2015, 19:55:04
Wenn schon, dann:
Code: (cpp) [Select]
GetWindowRect(m_hwndToolbar,&rcButton);
TPMPARAMS tpm;
tpm.cbSize = sizeof(tpm);
tpm.rcExclude = rcButton;
::TrackPopupMenuEx(hMenu, 0, pt.x, pt.y, m_pContainer->hwnd, &tpm);
Das sieht dann aber so aus wie im Screenshot, also auch suboptimal.

Man muss wohl das RECT von dem Button angeben, nicht das von der Toolbar.

Nachtrag: Die anderen menus sehen auch nicht besser aus: