Обычно толщина окна составляет 4 пикселя, что можно получить с помощью метода GetSystemMetrics. Можно ли изменить его значение, например 2 пикселя?
Большое спасибо!
Обычно толщина окна составляет 4 пикселя, что можно получить с помощью метода GetSystemMetrics. Можно ли изменить его значение, например 2 пикселя?
Большое спасибо!
Простой ответ: Нет. Не для конкретного окна.
Сложный ответ: граница рисуется как часть «неклиентской» области окна. Все это обрабатывается (под капотом) обработкой по умолчанию (т. е. DefWindowProc), вместе с заголовком, кнопками свертывания, развертывания и т. д. Вы можете переопределить это, обработав сообщение WM_NCPAINT. Затем вы будете нести ответственность за рисование всей неклиентской области вашего окна. Вы также захотите обработать сообщение WM_NCCALCSIZE, чтобы Windows знала, сколько оставшегося места нужно предоставить вашей клиентской области.
Кроме того, вы можете установить для стиля границы окна значение none. Это позволит Windows нарисовать подпись за вас, хотя она, вероятно, будет выглядеть немного по-другому. К сожалению, делая это, вы теряете функцию перетаскивания для изменения размера. Для этого вам нужно обработать сообщение WM_NCHITTEST.