Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Размер иконки в msFlexGrid / 5 сообщений из 5, страница 1 из 1
27.06.2006, 13:06
    #33816570
sysadm2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размер иконки в msFlexGrid
Есть такая неразрешимая проблема.
Я загружаю в msFlexGrid иконку и точно знаю, что ее размер 423х423, а не 847х847 - те она маленькая - 16х16.
Кроме того, я могу эту иконку просто выбросить на форму, и убеждаюсь опять же, что она маленькая - правая часть рисунка внизу.
Но msFlexGrid ее показывает как большую 847х847 (32х32) - левая часть рисунка внизу.
Продолбился над msFlexGrid целый день, но так и не понял как его заставить показывать иконку МАЛЕНЬКОЙ.
Может кто-нидь подскажет?
...
Рейтинг: 0 / 0
27.06.2006, 13:20
    #33816628
sysadm2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размер иконки в msFlexGrid
Собственно можно даже проблему переформулировать иначе наверное. Обнаружилось, что BMP-Файлы все таки msFlexGrid умеет показывать маленькими.
Те получается - один путь - заставить сетку работать адекватно, а второй путь - заставить VB6 работать адекватно - и преобразовывать типы рисунков как это умеет делать NET:
...
Рейтинг: 0 / 0
27.06.2006, 17:04
    #33817477
sysadm2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размер иконки в msFlexGrid
Получилось у меня все-таки преобразовывать 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
27.06.2006, 17:07
    #33817486
sysadm2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размер иконки в msFlexGrid
Ой пардон, само-то приведение забыл показать:
Код: 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
27.06.2006, 17:11
    #33817495
sysadm2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размер иконки в msFlexGrid
Кстати без шестерочного гиморроя в .NET это приведение делается так:
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Размер иконки в msFlexGrid / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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