Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Цвет шрифта на кнопке


Автор: Guest 14.4.2005, 10:09
Нужно поменять цвет шрифта кнопки. Как ето сделать?

Автор: efedron 14.4.2005, 14:11
Можно сделать так:
Код

Private Declare Function SetSysColors Lib "user32" (ByVal nChanges As Long, lpSysColor As Long, lpColorValues As Long) As Long

Const COLOR_BTNTEXT = 18

Private Sub Form_Load()
SetSysColors 1, 18, RGB(255, 255, 255)
End Sub

но при этом текст всех кнопок в системе станет в данном случае белым, хотя, по окончании выполнения программы можно все вернуть назад...
больше ничего в голову не приходит, а функция SetTextColor похоже с кнопкой не хочет работать..smile

Автор: Вадян! 14.4.2005, 15:12
efedron
Слушай я просто ради экспиремента своими пальцами блудними ввёл твой код, у меня всё поменялось, а вернуть в исходное не могу, напиши код будь другом, обещаю, то что не надо , делать больше не буду!!!
smile

Автор: Grifin 14.4.2005, 17:04
Немного сам продвинулся.
Нашёл дескриптор на нужное окно(кнопку). Осталось изменить цвет.


Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long

Private Sub Form_Load()

Dim rc As Long
Dim rc2 As Long

rc = FindWindow(vbNullString, Form1.Caption)
rc2 = FindWindowEx(rc, 0, vbNullString, "Command1")

end sub

Есть ещё какойто метод wm_CtlColor
Только вот как им пользоваться?

2 efedron я так делал но смысл в том чтобы именно на одной кнопке цвет шрифта поменять.

2Вадян! во вкладке оформление свойств рабочего стола схему на стандартную поменяй

Автор: Вадян! 14.4.2005, 19:01
Grifin
Так я умею, я командно спросил как ???
smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)