Страница: 1 |
Страница: 1 |
Вопрос: Парочка..хм..вопросов
Добавлено: 14.09.04 16:16
Автор вопроса: dNW
1.вызывать XP контролы без манифеста
2.изменить цвет текста на CommandButton
Ответы
Всего ответов: 15
Номер ответа: 1
Автор ответа:
Александр
Разработчик Offline Client
ICQ: 204034
Вопросов: 106
Ответов: 1919
Профиль | | #1
Добавлено: 14.09.04 17:30
1. Через контролы в разделе примеры этого сайта
2. Свойства .ForeColor
Номер ответа: 2
Автор ответа:
dNW
Вопросов: 30
Ответов: 683
Профиль | | #2
Добавлено: 14.09.04 18:08
1. Нет, спасибо. Мне через InitCommonControls больше нравится
2. Очень смешно. У кнопки нет такого свойства
Номер ответа: 3
Автор ответа:
Comanche
Вопросов: 87
Ответов: 459
Профиль | | #3
Добавлено: 14.09.04 18:45
По пункту 2:
http://www.mentalis.org/vbexamples/vbexample.php?vbexample=DSBTNCLR&category=MISC
Номер ответа: 4
Автор ответа:
dNW
Вопросов: 30
Ответов: 683
Профиль | | #4
Добавлено: 14.09.04 20:33
Спасибо, но все равно не то )
Мне нужны кнопки в стиле ХР с цветными надписями
Всякие там самодельные контролы не предлогать, так как если мою прогу запустят допустим в вин2000, то кнопки там будут не стандартны - мне так не надо
Номер ответа: 5
Автор ответа:
cresta
Вопросов: 117
Ответов: 1538
Профиль | | #5
Добавлено: 14.09.04 21:47
1.-
2.Покрасить надпись на кнопке можно, как для стиля хр, так и без оного.
Номер ответа: 6
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #6
Добавлено: 15.09.04 00:04
1. Был tlb, позволял рисовать любые контролы в ХР стиле, без манифеста!
Номер ответа: 7
Автор ответа:
Comanche
Вопросов: 87
Ответов: 459
Профиль | | #7
Добавлено: 15.09.04 12:25
2 cresta:
по-моему, пример с Mentalis.Org (см. ссылку выше) как раз "манифестно-независим". или нет?
Номер ответа: 8
Автор ответа:
cresta
Вопросов: 117
Ответов: 1538
Профиль | | #8
Добавлено: 15.09.04 13:37
Comanche, пример по той ссылке вообще не воспринимает манифест, программа с ним просто не запускается, несмотря на InitCommonControls. Возможно из-за dll.
Кнопку можно покрасить безо всяких dll, я Lister'у делал пример кнопки с рисунком, просто надо в нем заменить DrawIcon на DrawText + SetTextColor (проверял, работает как с манифестом, так и без него)
Номер ответа: 9
Автор ответа:
dNW
Вопросов: 30
Ответов: 683
Профиль | | #9
Добавлено: 15.09.04 16:43
Мда уж. Ничего конкретного
Номер ответа: 10
Автор ответа:
cresta
Вопросов: 117
Ответов: 1538
Профиль | | #10
Добавлено: 15.09.04 18:32
Ну вот тебе конкретно, добавь необходимые декларации и процедуры, манифест и т.д.
;=========
Private Function ButtonProc(ByVal hwnd As Long, ByVal message As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
 im hdc As Long ', Ps As PAINTSTRUCT
 im R As RECT, ret As Long
Select Case message
Case WM_PAINT, WM_LBUTTONDOWN, WM_LBUTTONUP
ret = CallWindowProc(old_proc, hwnd, message, wParam, lParam)
hdc = GetWindowDC(hwnd)
SetTextColor hdc, RGB(250, 0, 0)
SetBkMode hdc, TRANSPARENT
GetClientRect hwnd, R
 rawText hdc, "КРАСНАЯ", -1, R, 101
ReleaseDC hwnd, hdc
Exit Function
End Select
ButtonProc = CallWindowProc(old_proc, hwnd, message, wParam, lParam)
End Function
;=============================
Или ты хочешь всё приложение чтобы написали?
Номер ответа: 11
Автор ответа:
dNW
Вопросов: 30
Ответов: 683
Профиль | | #11
Добавлено: 15.09.04 20:50
Я не врубаюсь в использование этой функций (
Номер ответа: 12
Автор ответа:
Black Dragon
ICQ: 321186096
Вопросов: 30
Ответов: 347
Web-сайт:
Профиль | | #12
Добавлено: 15.09.04 21:16
Через ForeColor CommandButton'а НЕЛЬЗЯ сменить цвет текста!
Номер ответа: 13
Автор ответа:
cresta
Вопросов: 117
Ответов: 1538
Профиль | | #13
Добавлено: 15.09.04 22:11
dNW
Это кусок CallBack'a для кнопки. Все сообщения пусть обрабатывает винда, кроме WM_PAINT, WM_LBUTTONDOWN, WM_LBUTTONUP. Их надо обрабатывать самому, иначе винда нарисует надпись своим черным цветом. А мы перехватываем управление у неё, когда приходят эти три сообщения для кнопки и когда надо рисовать кнопку и рисуем тем цветом, который нужен, и затем передаём управление опять винде.
Короче, куда тебе слать проект? Я его проверял в XP, с манифестом и без. Работает.
Номер ответа: 14
Автор ответа:
Александр
Разработчик Offline Client
ICQ: 204034
Вопросов: 106
Ответов: 1919
Профиль | | #14
Добавлено: 16.09.04 07:03
Ну, пардон, забыл я...
Номер ответа: 15
Автор ответа:
dNW
Вопросов: 30
Ответов: 683
Профиль | | #15
Добавлено: 16.09.04 09:35
Ну отправь на dnw@lenta.ru