Страница: 1 |
Страница: 1 |
Вопрос: Картинка в StatusBar
Добавлено: 23.04.06 13:01
Автор вопроса: Albert | ICQ: 334-970-670
Как вставлять программно картинку из ListImage в StatusBar.
Из файла можно, а из ListImage не получается.
Типа как, вставка текста:
StatusBar1.Panels(1).Text = "Текст"
точно так же надо иконку из ListImage возле текста загрузить.
Ответы
Всего ответов: 5
Номер ответа: 1
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #1
Добавлено: 23.04.06 22:58
StatusBar1.Panels(1).Picture ?
Гы або StretchBlt/BitBlt отрисовать самому, а шо, хто ж тут пути лёгкие ищет ))
Номер ответа: 2
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #2
Добавлено: 23.04.06 23:00
ооооооооо пАвезло тебе )))
Private Declare Function CreateCompatibleBitmap Lib "gdi32" (ByVal hdc As Long, ByVal nWidth As Long, ByVal nHeight As Long) As Long
Private Declare Function CreateCompatibleDC Lib "gdi32" (ByVal hdc As Long) As Long
Private Type BITMAP '14 bytes
bmType As Long
bmWidth As Long
bmHeight As Long
bmWidthBytes As Long
bmPlanes As Integer
bmBitsPixel As Integer
bmBits As Long
End Type
Private Declare Function ReleaseDC Lib "user32" (ByVal hWnd As Long, ByVal hdc As Long) As Long
Private Declare Function GetObject Lib "gdi32" Alias "GetObjectA" (ByVal hObject As Long, ByVal nCount As Long, lpObject As Any) As Long
Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As Long
Private Declare Function StretchBlt Lib "gdi32" (ByVal hdc 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 nSrcWidth As Long, ByVal nSrcHeight As Long, ByVal dwRop As Long) As Long
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 Const SRCAND = &H8800C6 ' (DWORD) dest = source AND dest
Private Const SRCCOPY = &HCC0020 ' (DWORD) dest = source
Private Const SRCERASE = &H440328 ' (DWORD) dest = source AND (NOT dest )
Private Const SRCINVERT = &H660046 ' (DWORD) dest = source XOR dest
Private Const SRCPAINT = &HEE0086 ' (DWORD) dest = source OR dest
Public Sub DrawImage(ByVal hdc As Long, ByVal pic As StdPicture, ByVal x As Integer, ByVal y As Integer, ByVal cx As Integer, ByVal cy As Integer)
Dim memDC As Long
Dim BM As BITMAP
Dim oldBm As Long
If pic Is Nothing Then Exit Sub
GetObject pic, Len(BM), BM
memDC = CreateCompatibleDC(ByVal 0)
oldBm = SelectObject(memDC, pic)
StretchBlt hdc, x, y, cx, cy, memDC, 0, 0, BM.bmWidth, BM.bmHeight, SRCCOPY
SelectObject memDC, oldBm
End Sub
))))))
Номер ответа: 3
Автор ответа:
Albert
ICQ: 334-970-670
Вопросов: 14
Ответов: 20
Профиль | | #3
Добавлено: 24.04.06 10:52
Не уж то всё так сложно????
Мне просто надо тупо вставить туда иконку из ListImage.
StatusBar1.Panels(1).Picture = ...
Простоя давно как то искал как вставить иконки в ListView на против записи, оказалось все просто:
Вначале устанавливается из какого ListImage брать иконку. А потом уже индекс этой иконки.
Здесь наверно так же должно быть?????? Али нет???
Номер ответа: 4
Автор ответа:
Barsik
Разработчик Offline Client
ICQ: 343368641
Вопросов: 17
Ответов: 686
Web-сайт:
Профиль | | #4
Добавлено: 24.04.06 17:40
2Albert:
тут не все так просто. если надо просто-Делфи.
а тут все ручками надо, ручкими
Номер ответа: 5
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #5
Добавлено: 25.04.06 23:41
та прям таки, чи в делфи не просто ладно б .net вспомнил
2Albert
А чем фция DrawImage показалась сложной?