как очистить диалог управления изображением type = frame - PullRequest
0 голосов
/ 23 июля 2011

У меня есть диалоговое окно управления изображением type = frame, которое я использовал в качестве родителя для чего-то другого. Когда дочернее окно разрушено, остатки остаются в элементе управления. Что я могу сделать, чтобы очистить элемент управления или вызвать закрытие дочернего окна, чтобы очистить элемент управления?

winapi c ++

1 Ответ

0 голосов
/ 23 июля 2011

Я подумал, что может быть более простой метод, но следующее помогает, и вы можете раскрасить его, как вам нравится.

            int s;
            HDC dc;
            RECT R;

            z  = GetDlgItem (hDlg, IDC_PS_AREA);        // clear the containing control
            dc = GetWindowDC (z);
            s  = GetClientRect (z,&R);

            FillRect (dc, &R, (HBRUSH) GetStockObject (LTGRAY_BRUSH));

            ReleaseDC (z, dc);

А еще лучше

            int      s;
            HDC      dc;
            RECT     R;
            HBRUSH   hB;

            z  = GetDlgItem          (hDlg, IDC_PS_AREA);   // clear the parent containing control
            dc = GetWindowDC         (z);
            s  = GetClientRect       (z,&R);

            hB = GetSysColorBrush (COLOR_3DFACE);

            FillRect (dc, &R, hB);

            ReleaseDC (z, dc);
...