Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Рисунок CommandButton-а. Добавлено: 16.07.08 15:18  

Автор вопроса:  J. Smith | Web-сайт: Не хочу ломать голову, если её уже сломал кто-то другой. | ICQ: ненавижу 
Нужен код, чтоб рисунок не пропадал с батона при наведении на него мыши.

Моя попытка:


Option Explicit

Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long

Private Declare Function DrawIconEx Lib "user32" (ByVal hDC As Long, ByVal xLeft As Long, ByVal yTop As Long, ByVal hIcon As Long, ByVal cxWidth As Long, ByVal cyWidth As Long, ByVal istepIfAniCur As Long, ByVal hbrFlickerFreeDraw As Long, ByVal diFlags As Long) As Long
Private Declare Function ExtractIcon Lib "shell32.dll" Alias "ExtractIconA" (ByVal hInst As Long, ByVal lpszExeFileName As String, ByVal nIconIndex As Long) As Long

Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long

Private Sub Form_Initialize()
    InitCommonControlsXP    'т.е. контролы в теме винды
End Sub

Private Sub Form_Load()
    Dim Icon As Long

    Show
    DoEvents

    Icon = ExtractIcon(App.hInstance, "shell32.dll", 165)
    DrawIconEx GetDC(Command1.hwnd), 4, 4, Icon, 32, 32, 0, 0, 3

End Sub

Ответить

  Ответы Всего ответов: 4  

Номер ответа: 1
Автор ответа:
 Mihalыch



ICQ: 373-509-101 

Вопросов: 56
Ответов: 330
 Профиль | | #1 Добавлено: 16.07.08 15:43

Private Sub Command1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Form_Load
End Sub

Private Sub Command1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Form_Load
End Sub

Ответить

Номер ответа: 2
Автор ответа:
 J. Smith



ICQ: ненавижу 

Вопросов: 40
Ответов: 477
 Web-сайт: Не хочу ломать голову, если её уже сломал кто-то другой.
 Профиль | | #2
Добавлено: 16.07.08 15:43
От блин, винда не накладывает фокус сверху, она по новой всю кнопку рисует из темы.

Маусмувы отлавливать полная засада.

Ответить

Номер ответа: 3
Автор ответа:
 J. Smith



ICQ: ненавижу 

Вопросов: 40
Ответов: 477
 Web-сайт: Не хочу ломать голову, если её уже сломал кто-то другой.
 Профиль | | #3
Добавлено: 16.07.08 15:46
Одновременно отпостились.

Ну ты прав Михалыч, походу нажатие тоже дорисовывать надо.

Ответить

Номер ответа: 4
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #4 Добавлено: 20.07.08 02:14
Не чудите, почитайте как это делается через сабклассинг, или расширения контрлов (не знаю, есть ли такое в VB6)

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам