Вопрос № 43750: Если создавать элементы управления при помощи вызова CreateWindow() передавая ей в качестве имени класса окна "button", "edit" и т.п, то полученый результат не очень радует, так как на полученых кнопочках текст пишется безобразным...
Вопрос № 43.750
Если создавать элементы управления при помощи вызова CreateWindow() передавая ей в качестве имени класса окна "button", "edit" и т.п, то полученый результат не очень радует, так как на полученых кнопочках текст пишется безобразным системным шрифтом (то же самое и в эдитбоксах)... обрамление эдитбокса тоже никуда не годится... А вопрос в следующем: возможно ли каким-то образом настраивать внешний вид элементов управления созданых путем вызова CreateWindow() (ну кроме самых примитивных флагов,
которые передаются в саму CreateWindow()), так, чтобы внешний вид таких элементов ничем не уступал аналогичным элементам, созданым по шаблону окна диалога???
И еще... А возможно ли вообще (хотя бы теоретически) создать диалоговое (именно диалоговое, а не подделку) окно размеры которого можно было бы менять???
Большое спасибо.
Отвечает: Morgion
Здравствуйте, CrazyIronToiletPaper!
Всё можно!
1. Для шрифта смотри сообщения WM_SETFONT. Устанавливает для стандартных контролов нужный шрифт.
Шрифт бери либо просто с помощью
(HFONT)GetStockObject (SYSTEM_FONT);
,либо создавая свой- либо напрямую (CreateFont и подобные) либо через системный шрифт (т.е. GetStockObject, потом
заполняешь структуру LOGFONT через GetObject).
2. Да- даилоговое окно может менять размер. В редакторе указывай Sizible, или если создаёшь через
темплейт, то WS_SIZEBOX. Если имеется в виду его масштабирование с ресайзом контролов, т
о для чистого АПИ ищи решение в инете, либо пиши сам- обрабатываешь для диалога сообщение
WM_SIZE и меняешь размер и положение контролов.
Приложение:
Ответ отправил: Morgion (статус: Студент)
Ответ отправлен: 22.05.2006, 09:10 Оценка за ответ: 5