Приветствую,
и рассчитываю именно в этом разделе форума на помощь профи.
Есть диалог SaveAs... вызываемый через GetSaveFileName(OFN)
Я его кастомизирую через OFN_ENABLEHOOK + .lpfnHook структуры OPENFILENAME.
В частности добавляю StatusBar через CDN_INITDONE.
hStatusBarWnd = CreateStatusWindow(WS_CHILD Or WS_VISIBLE, "StatusBar Text", hwndParent, 0)
hwndParent -это hwnd диалога.
Для того чтоб StatusBar всегда ложился Bottom и прорисовывался, использую 2 вещи (при инициализации диалога CDN_INITDONE, а также при изменении размеров диалога):
1)
SendMessage(hStatusBarWnd, WM_SIZE, 0, 0)
2)
Call RedrawWindow(hStatusBarWnd, 0, 0, RDW_INVALIDATE Or RDW_FRAME Or RDW_UPDATENOW)
Все хорошо, но у меня Grip (треугольник справа за что тянуть при изменении формы -диалога) слегка смазывается.
И ладно чуть играет при ре-сайзе, но он смазан при изначальном появлении диалога.
Полагаю родной grip диалога накладывается на Grip пририсованного статусбара и пытается прорисоваться поверх.
Перепробовал много чего, не лечится.
Ну, т.е. лечится, только если делать два моих действия (перерисовка StatusBar) при каждом WM_NOTIFY (как правило это CustomDraw), которое посылается диалогу hwndParent. Понятно, что заниматься постоянной перерисовкой не есть гуд (статусбар постоянно мелькать будет и т.п.).
Есть идеи? М.б. как-то родной Grip окна диалога задизейблить чтоб не мешался? Только вот не знаю как.
Даже не знаю как эта "хваталка" правильно называется.
Для пояснения картинка, что именно не нравится. Мелочь конечно...но м.б. кто даст какую идею.