MDI Fenster ohne Rahmen
-
Hallo,
habe eine Anwendung erstellt, darin wollte ich die Unterfenster komplett ohne Rahmen darstellen. Leider weiß ich nicht weiter.
Bis jetzt sieht es so aus:
http://s9.postimg.org/chxlm14mj/mdi.jpgWas ich will, ist den Rahmen im linken Fenster komplett auszublenden. Geht das überhaupt und wie stelle ich das an.
Vielen Dank für die Hilfe!
Code bis jetzt:
MoveWindow(hMDIChild, 10, 10, 100, 200, TRUE); int Style = GetWindowLong(hMDIChild, GWL_STYLE); int exStyle = GetWindowLong(hMDIChild, GWL_EXSTYLE); Style &= ~WS_BORDER; exStyle &= ~(WS_EX_DLGMODALFRAME | WS_EX_CLIENTEDGE | WS_EX_STATICEDGE); SetWindowLong(hMDIChild, GWL_STYLE, Style); SetWindowLong(hMDIChild, GWL_EXSTYLE, exStyle); SetWindowPos (hMDIChild, NULL, 0, 0, 0, 0, SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER| SWP_NOOWNERZORDER | SWP_FRAMECHANGED);
-
Viele Stile können nachträglich nicht geändert werden. Du mußt sie also bei der Erstellung der mdi child Fenster weglassen.
Mfg Martin
-
Viele Stile können nachträglich nicht geändert werden. Du mußt sie also bei der Erstellung der mdi child Fenster weglassen.
Mfg Martin
-
Das wäre noch kein Problem. Leider geht es um eine Fremdanwendung in der ich die Fenster nachträglich zu Ändern versuche. Jeweils mehrere MDI-Fenster nebeneinander und ohne Rahmen. Das geht soweit ganz gut.
Evtl. ist hier ein anderes Problem, was auch gelöst werden kann. Der Fenster-Inhalt ist abgesunken. Kann man das ändern?
-
Problem gelöst
Siet schon mal fast zu perfekt aus
http://postimg.org/image/uhfts3i6p/
Lösung:
int chExStyle = GetWindowLongW(WindowHandle(Symbol(),0), GWL_EXSTYLE); chExStyle &= ~(WS_EX_CLIENTEDGE); SetWindowLongW(hWnd_Chart, GWL_EXSTYLE, chExStyle);