Отрисовка контролов
Есть два контрола: BUTTON и WC_TREEVIEW со стилем WS_CAPTION и на переднем плане. WC_TREEVIEW частично накладывается поверх кнопки. При нажатии на кнопку, она, по неизвестным мне причинам, не отсекает невидимую область. В результате отрисовывается на TREEVIEW. SelectClipRgn решает даную проблему, но определение видимого региона (WindowFromPoint) достаточно трудоемко. Может кто сталкивался с подобными проблемами?
Чувствую у вас со стилями полный бардак творится. Код приведите
HWND hDir = CreateWindowEx(0, WC_TREEVIEW, "", WS_VISIBLE | WS_CHILD |
WS_CAPTION | WS_THICKFRAME | TVS_HASLINES | TVS_LINESATROOT |
TVS_HASBUTTONS | TVS_SHOWSELALWAYS | TVS_EDITLABELS,
50, 0, 100, 100, hWnd, (HMENU)121, wc.hInstance, NULL);
// рамка, проблем не создает
HWND hCtrl = CreateWindowEx(0, SC_BUTTON, "ShowX", WS_VISIBLE | WS_CHILD |
BS_GROUPBOX, 180, 70, 100, 100, hWnd, NULL, wc.hInstance, NULL);
// проблемная кнопка
hCtrl = CreateWindowEx(0, SC_BUTTON, "Show", WS_VISIBLE | WS_CHILD,
10, 10, 50, 20, hWnd, (HMENU)IDI_BUTN, wc.hInstance, NULL);
// еще один вариант
hCtrl = CreateWindowEx(0, SC_BUTTON, "Show", WS_VISIBLE | WS_CHILD,
10, 10, 50, 20, hCtrl, (HMENU)IDI_BUTN, wc.hInstance, NULL);
Прочитайте про стиль WS_CLIPSIBLINGS