Ich habe eine CToolbar und darin habe ich eine Schaltfläche mit Stil BTNS_BUTTON | BTNS_DROPDOWN. Ich möchte es zu einem Split-Button machen, also ist die linke Seite des Buttons eine Schaltfläche und die rechte Seite hat ein Drop-Down-Menü.Warum bewirkt der Stil BTNS_DROPDOWN, dass sich die gesamte Symbolleiste um ein paar Pixel nach unten bewegt?
diese zu vervollständigen, ich auf die Schaltfläche erstellen dann nenne ich :: Sendmessage wie so:
::SendMessage(hwndForButton, TB_SETEXTENDEDSTYLE, 0, TBSTYLE_EX_DRAWDDARROWS);
Dies funktioniert gut und schafft die Split-Taste, sondern hat auch die schlecht Wirkung der Bewegung der Werkzeugleiste ein nach unten paar Pixel. Wenn ich die Nachricht nicht sende, habe ich immer noch das Problem (und ich habe den Split-Button nicht mehr).
Wenn ich den Stil der Schaltfläche zu BTNS_BUTTON | BTNS_WHOLEDROPDOWN ändern, habe ich kein Problem, obwohl ich auch nicht die Split-Taste habe.
Irgendwelche Hinweise, was hier schief gehen könnte? Ich denke, es gibt einen Rand, der auf ein BNTS_DROPDOWN angewendet wird, und es bewirkt, dass die Symbolleiste nach unten bewegt.
Haben Sie das jemals gelöst? - Ich bekomme genau das gleiche Problem :( – Alan
Nein, habe nie das gelöst. Ich landete nur das Fenster ein paar Pixel, um das Layout zu korrigieren. Dies ist weniger als ideal und kann dazu führen, dass die Symbolleiste lustig auf hoher DPI Aufbauten. – Jared