Как написать на стандартной кнопке цветным шрифтом?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
TiG
Постоялец
Постоялец
 
Сообщения: 327
Зарегистрирован: 12.05.2003 (Пн) 12:34
Откуда: Ростов-на-Дону

Как написать на стандартной кнопке цветным шрифтом?

Сообщение TiG » 11.06.2003 (Ср) 8:54

Как написать на стандартной кнопке цветным шрифтом?
Вариант с наклеиванием картинки уже проработан!
Есть ли такая возможность, написать цветным шрифтом, в свойствах я не нашёл.
Все мои игрушки мама разметало ураганом...

Aleksej
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 191
Зарегистрирован: 03.06.2003 (Вт) 9:58

Сообщение Aleksej » 11.06.2003 (Ср) 9:13

Вызвать из процедуры _MouseMove
ButtonCaption-заголовок кнопки


Public Sub SetColorButtonText(Button As CommandButton, _
ButtonCaption As String, _
Color As Byte)
Dim TextColor As Long
Dim Bold As Integer
Dim DC, a As Long
Dim FontDC As Long

DC = GetWindowDC(Button.hWnd)
Button.Caption = ""

Select Case Color
Case 0 ' &&šķū&
TextColor = RGB(0, 0, 0)
Bold = 700
Case 1 ' Źšąńķū&
TextColor = RGB(255, 0, 0)
Bold = 700
Case 2 ' Ē&ė&ķū&
TextColor = RGB(0, 255, 0)
Bold = 700
Case 3 ' Ćīė&įī&
TextColor = RGB(0, 255, 255)
Bold = 700
Case 4 ' Šīēīāū&
TextColor = RGB(255, 0, 255)
Bold = 700
Case 5 ' Ę&ėņū&
TextColor = RGB(255, 255, 0)
Bold = 700
Case 6 ' Į&ėū&
TextColor = RGB(255, 255, 255)
Bold = 700
Case 7 ' &&šķū& (ļī &ģīė&ąķčž)
TextColor = RGB(0, 0, 0)
Bold = 400
End Select
a = SetBkMode(DC, TRANSPARENT)
a = SetTextAlign(DC, TA_CENTER)
a = SetTextColor(DC, TextColor)

FontDC = CreateFont(1, 0, 0, 0, Bold, 0, 0, 0, 0, 0, _
0, 0, 0, Button.FontName)
a = SelectObject(DC, FontDC)

a = TextOut(DC, Button.Width / 2, _
Button.Height / 3.2, ButtonCaption, _
Len(ButtonCaption))

Call DeleteDC(FontDC)
Call ReleaseDC(Button.hWnd, DC)
End Sub

SergeySV
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 124
Зарегистрирован: 17.04.2003 (Чт) 14:39
Откуда: Россия, Москва

Сообщение SergeySV » 11.06.2003 (Ср) 11:20

Aleksej писал(а):Вызвать из процедуры _MouseMove
ButtonCaption-заголовок кнопки


Public Sub SetColorButtonText(Button As CommandButton, _
ButtonCaption As String, _
Color As Byte)
Dim TextColor As Long
Dim Bold As Integer
Dim DC, a As Long
Dim FontDC As Long

DC = GetWindowDC(Button.hWnd)
Button.Caption = ""

Select Case Color
Case 0 ' &&šķū&
TextColor = RGB(0, 0, 0)
Bold = 700
Case 1 ' Źšąńķū&
TextColor = RGB(255, 0, 0)
Bold = 700
Case 2 ' Ē&ė&ķū&
TextColor = RGB(0, 255, 0)
Bold = 700
Case 3 ' Ćīė&įī&
TextColor = RGB(0, 255, 255)
Bold = 700
Case 4 ' Šīēīāū&
TextColor = RGB(255, 0, 255)
Bold = 700
Case 5 ' Ę&ėņū&
TextColor = RGB(255, 255, 0)
Bold = 700
Case 6 ' Į&ėū&
TextColor = RGB(255, 255, 255)
Bold = 700
Case 7 ' &&šķū& (ļī &ģīė&ąķčž)
TextColor = RGB(0, 0, 0)
Bold = 400
End Select
a = SetBkMode(DC, TRANSPARENT)
a = SetTextAlign(DC, TA_CENTER)
a = SetTextColor(DC, TextColor)

FontDC = CreateFont(1, 0, 0, 0, Bold, 0, 0, 0, 0, 0, _
0, 0, 0, Button.FontName)
a = SelectObject(DC, FontDC)

a = TextOut(DC, Button.Width / 2, _
Button.Height / 3.2, ButtonCaption, _
Len(ButtonCaption))

Call DeleteDC(FontDC)
Call ReleaseDC(Button.hWnd, DC)
End Sub


Чето я не пойму в чем заключается цветность шрифта... Судя по этому коду (если я не ошибаюсь конечно), на кнопке просто пишут шрифтом разных цветов. А я так понял, что надо вывести надпись из букв разного цвета ???
Главное двигаться не быстрее, чем думает твоя голова.

TiG
Постоялец
Постоялец
 
Сообщения: 327
Зарегистрирован: 12.05.2003 (Пн) 12:34
Откуда: Ростов-на-Дону

Re:

Сообщение TiG » 14.06.2003 (Сб) 9:39

Ой как сложно, даже не дочитал! :D
Задача состоит прросто в том, чтобы текст на кнопке сделать не чёрным цветом, а например белым.
Все мои игрушки мама разметало ураганом...

Tauron
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 187
Зарегистрирован: 14.07.2002 (Вс) 17:43
Откуда: Kazakhstan

Сообщение Tauron » 14.06.2003 (Сб) 14:11

Если хочешь проще - используй MS Forms 2.0 Object Library
Трезвая голова, холодный ум и ледяное сердце.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot и гости: 131

    TopList