xenomorph писал(а):Привет Всем!
Вопрос №1:
Как получить правильно по АПИ цвет бэкграунда окна по его хэндлу контексту?
Стандартное АПИ GetBKColor выдаёт странное значение (большое) в случае если это окно системное ShellTrayWind например. (окно - левое!, x-colour не предлагать :)
Эээ... нууу... чё то не ясно чё есь, че не предлагать, чё куда... %-\
xenomorph писал(а):Вопрос №2:
Как получить и установить (через АПИ!) шрифт в определённом окне?
Ну... эт просто:
Надо послать сообщение WM_SETFONT окну, у которого надо шрифт установить.
wParam -- дескриптор шрифта, который ты хочешь чтоб у окна был.
lParam -- ежели не ноль, то окно сразу же перерисоваться должно (с новым шрифтом.), эт может быть нужно если окно видимое.
Терь чё для этого надо:-- чтобы сообщение послать надо: API Функцию
SendMessage, причём с такой декларацией:
- Код: Выделить всё
Public Declare Function SendMessageByNum Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
;
hWnd окна, которому сообщение слать (шрифт поменять) желаешь;
значение константы WM_SETFONT (оно есть
&H30).
-- чтобы дескриптор шрифта сделать, надо: API функцию
CreateFont или
CreateFontIndirect (я, лично вторую уважаю больше).
-- для
CreateFontIndirect нуна бут структура
LOGFONT и её нуна буит заполнить.
Как
LOGFONT заполнить или чё нада для
CreateFont?
-- это всё нада дооолго рассказывать... ты уж прости, я не смогу -- времени нет. ;-)
RTFMSDN...
xenomorph писал(а):Заранее спасибо!
Незачто... чем мог, помог. ;-)