Змінити вигляд системних кнопок (Maximize, Minimize
Підкажіть, будь ласка, як можна змінити вигляд системних кнопок, тобто, щоб там малюнок інший був.
Прибери стандартні та малюй свої. Малювати в заголовку можна, але важко, простіше намалювати новий заголовок цілком, а старий прибрати (стилі вікна). Ознака кнопок (Maximize, Minimize. ) - своєрідна реакція на WM_NCHITTEST, яку доведеться організувати для своїх кнопок.
а проше не можна? наприклад, якось перемалювати стандартні
> а проше не можна? наприклад, якось перемалювати стандартні
WM_NCPAINT, WM_NCACTIVATE, WM_NCxBUTTONxxxx, WM_NCHITTEST треба обробляти.
Тобі це здається простіше?
в [1] дали дуже непогану пораду, до того ж свій заголовок непогано виводиться функцією DrawCaption
. А самі кнопки вдало малюються функцією DrawFrameControl (стандартні)
>WM_NCPAINT, WM_NCACTIVATE, WM_NCxBUTTONxxxx, WM_NCHITTEST треба обробляти.
Я хотів лише дізнатися чи можна якось замінити використовуються для стандартних кнопок зображення на інші. Якщо можна, то я не розумію як виникає потреба в обробці повідомлень. Якщо не можна, то як забирається заголовок вікна?
> Я хотів лише дізнатися чи можна якось замінити використовувані > для стандартних кнопок зображення на інші.
Стандартні зображення малює система, опрацьовуючи ці повідомлення. Замінити їх у системі не можна. Отже, треба малювати кнопки самому, опрацьовуючи ці повідомлення. Це набагато більш трудомістко, ніж спосіб, запропонований у [1]
>як забирається заголовок вікна?. а старий прибрати (стилі вікна). - точніше, стиль WS_CAPTION>не розумію як виникає необхідність в обробці повідомлень?
А як малювати, не опрацьовуючи повідомлень.
>WM_NCPAINT, WM_NCACTIVATE, WM_NCxBUTTONxxxx, WM_NCHITTEST треба обробляти.
IMHO, без WM_NCxBUTTONxxxx можна обійтися. Без WM_NCHITTEST теж, якщо впевнений, що положення/розмір твоїх та рідних збігаються. Але все одно це трудомістко
GuAV (14.05.04 23:34)
> IMHO, без WM_NCxBUTTONxxxx можна обійтися.
А як малювати їх натиснутий/ненатиснутий стан?
> А як малювати їх натиснутий/ненатиснутий стан?