powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Размер иконки в msFlexGrid
5 сообщений из 5, страница 1 из 1
Размер иконки в msFlexGrid
    #33816570
sysadm2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть такая неразрешимая проблема.
Я загружаю в msFlexGrid иконку и точно знаю, что ее размер 423х423, а не 847х847 - те она маленькая - 16х16.
Кроме того, я могу эту иконку просто выбросить на форму, и убеждаюсь опять же, что она маленькая - правая часть рисунка внизу.
Но msFlexGrid ее показывает как большую 847х847 (32х32) - левая часть рисунка внизу.
Продолбился над msFlexGrid целый день, но так и не понял как его заставить показывать иконку МАЛЕНЬКОЙ.
Может кто-нидь подскажет?
...
Рейтинг: 0 / 0
Размер иконки в msFlexGrid
    #33816628
sysadm2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Собственно можно даже проблему переформулировать иначе наверное. Обнаружилось, что BMP-Файлы все таки msFlexGrid умеет показывать маленькими.
Те получается - один путь - заставить сетку работать адекватно, а второй путь - заставить VB6 работать адекватно - и преобразовывать типы рисунков как это умеет делать NET:
...
Рейтинг: 0 / 0
Размер иконки в msFlexGrid
    #33817477
sysadm2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Получилось у меня все-таки преобразовывать ICO в BMP, в потом BMP нужного размера засовывать в msFlexGrid. Ну что-то так примерно.
Это контрол:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
Public Sub LoadImageFromDB(ImageAsUnicodeString As String, ImageKey As String)
''в Image переданы чудо-символы, каждый из которых состоит из двух реальных байт иконки
ReDim arByte(Len(ImageAsUnicodeString) +  1 ) As Byte
arByte = ImageAsUnicodeString
''эти UNICODE чудо-символы преобразуем в массив байт и буферизуем
''Другой вариант этой буферизации - загрузка через через CLIPBOARD
Dim X As Integer, xFileName As String
xFileName = App.Path & "\Files\" & ImageKey & ".ico"
On Error GoTo Nokill
Kill xFileName
Nokill:
On Error GoTo  0 
X = FreeFile()
Open xFileName For Binary Access Write As #X
Put #X,  1 , arByte
Close #X
On Error GoTo InvalidPicture
ImageList1.ListImages.Clear
ImageList1.ListImages.Add , "One", LoadPicture(xFileName)
Exit Sub
InvalidPicture:
MsgBox ("Иконка : " & ImageKey & " не грузится из SY_Icon")
On Error GoTo  0 
End Sub

Public Property Get Picture() As Picture
Set Picture = ImageList1.ListImages( 1 ).Picture
Picture1.Picture = ImageList1.ListImages( 1 ).Picture
Set Image.Handle = Picture.Handle
End Property
Это форма:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
While Not RS.EOF
    MSFlexGrid1.AddItem RS("Key")
    MSFlexGrid1.Row = MSFlexGrid1.Rows -  1 
    MSFlexGrid1.Col =  1 
    MSFlexGrid1.Text = DeNull(RS("Alias"))
    MSFlexGrid1.Col =  2 
    Call SY_ImageFromDB1.LoadImageFromDB(RS("Image"), RS("KEY"))
    Set MSFlexGrid1.CellPicture = SY_ImageFromDB1.Picture
    RS.MoveNext
Wend
RS.Close
Пользуйтесь, кому интересно...
...
Рейтинг: 0 / 0
Размер иконки в msFlexGrid
    #33817486
sysadm2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ой пардон, само-то приведение забыл показать:
Код: plaintext
1.
2.
3.
4.
5.
6.
Public Property Get Picture() As Picture
Set Picture = ImageList1.ListImages( 1 ).Picture
Picture1.Picture = ImageList1.ListImages( 1 ).Picture
Picture1.Height =  423 
Picture1.Width =  423 
Set Picture = Picture1.Image
End Property
...
Рейтинг: 0 / 0
Размер иконки в msFlexGrid
    #33817495
sysadm2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати без шестерочного гиморроя в .NET это приведение делается так:
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Размер иконки в msFlexGrid
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]