WS_HSCROLL von Style entfernen...
-
Hallo,
Ich habe mein Fenster mit einem HScroll(Style) versehen.
Jetzt würde ich gerne das Style ändern, so daß das HSCROLL weg ist.
Ich weiß, daß das mit SetWindowLong und danach SetWindowPos geht.
ABER:
ich möchte gerne den alten Stil beibehalten (GetWindowLong) und davon
nur WS_HSCROLL abziehen... wie kann man das machen?Gruss & Danke,
Stefan
-
Den XOR Operator verwenden:
long wndStyles = GetWindowLong(hwnd, GWL_STYLE); wndStyles ^= WS_HSCROLL; //: wndStyles = wndStyles ^ WS_HSCROLL
-
Das würde das WS_HSCROLL-Bit natürlich nur toggeln. D.h. wenn es vorher aktiviert war, wird es deaktiviert, und wenn es aktiviert war, dann wird es deaktiviert. Wenn du diesen Effekt nicht haben willst dann musst du folgendes machen:
long wndStyles = GetWindowLong(hwnd, GWL_STYLE); wndStyles = wndStyles & (~WS_HSCROLL); //deaktiviert immer
long wndStyles = GetWindowLong(hwnd, GWL_STYLE); wndStyles = wndStyles & (WS_HSCROLL); //aktiviert immer
-
THX, das war genau das, was ich suchte!