Пользовательские диалоги рисования в win32/wtl

Используя WTL/ATL/Windows API, я создал диалоговое окно окна с кнопками и списком, я хочу применить некоторые стили, которые я получил в виде изображений, а также roud courners, я читал о нарисованном владельцем... нарисованном на заказ и других вещах. но я не могу найти пример, я пробовал:

 LRESULT OnPaint(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
     {
            HDC hdc;

            RECT rect = {0};
            PAINTSTRUCT ps;
            rect.top = 100;
            rect.right = 100;
            rect.bottom = 100;
            hdc = BeginPaint( &ps);

            ::FillRect(hdc, &rect, (HBRUSH)(COLOR_BTNFACE + 1));

            EndPaint( &ps);
         return 0;
 }

В диалоге ничего не отображается.


person fire xzanderr    schedule 16.11.2012    source источник


Ответы (1)


Ваш код:

      rect.top = 100;
      rect.bottom = 100;

Что вы ожидаете? Вы заполняете прямоугольник нулевой высоты и, как и ожидалось, ничего не видите. Остальной код правильный и начнет работать, как только вы исправите прямоугольник.

person Roman R.    schedule 17.11.2012