CreatePatternBrush
От: dolnick Германия  
Дата: 27.11.02 22:00
Оценка:
subj под Win98 работает не как надо ! использует только 8*8 часть битмапа, как будто бы это не 98, а 95. Cоответственно кисть получается размером 8*8, а надо больше. MSDN обещает, что под 98 можно больше. Может, это известная засада под 98 ? Никто не подскажет как создать под 98 pattern brush с размером больше 8*8 ?
Re: CreatePatternBrush
От: Whisperer  
Дата: 28.11.02 08:00
Оценка:
Здравствуйте, dolnick, Вы писали:

D>subj под Win98 работает не как надо ! использует только 8*8 часть битмапа, как будто бы это не 98, а 95. Cоответственно кисть получается размером 8*8, а надо больше. MSDN обещает, что под 98 можно больше. Может, это известная засада под 98 ? Никто не подскажет как создать под 98 pattern brush с размером больше 8*8 ?


Я думаю у тебя засада не в этой функции, а намного раньше — во как ты создаешь HBITMAP (или открываешь) ?? — какую структуру заполняешь BITMAPV5HEADER или BITMAPV4HEADER. — я думаю проблема здесь кроется.
Re: CreatePatternBrush
От: Patalog Россия  
Дата: 28.11.02 08:49
Оценка:
Здравствуйте, dolnick, Вы писали:

D>subj под Win98 работает не как надо ! использует только 8*8 часть битмапа, как будто бы это не 98, а 95. Cоответственно кисть получается размером 8*8, а надо больше. MSDN обещает, что под 98 можно больше. Может, это известная засада под 98 ? Никто не подскажет как создать под 98 pattern brush с размером больше 8*8 ?


TFM July 2001 гласит:

CreatePatternBrush

Parameters
hbmp
[in] Handle to the bitmap to be used to create the logical brush.
Windows 95/98/Me: Creating brushes from bitmaps or DIBs larger than 8 by 8 pixels is not supported. If a larger bitmap is specified, only a portion of the bitmap is used.

Windows NT/2000 or later: Brushes can be created from bitmaps or DIBs larger than 8 by 8 pixels.


Ку?
Почетный кавалер ордена Совка.
Re[2]: CreatePatternBrush
От: dolnick Германия  
Дата: 28.11.02 15:58
Оценка:
Здравствуйте, Patalog, Вы писали:

P>Здравствуйте, dolnick, Вы писали:


D>>subj под Win98 работает не как надо ! использует только 8*8 часть битмапа, как будто бы это не 98, а 95. Cоответственно кисть получается размером 8*8, а надо больше. MSDN обещает, что под 98 можно больше. Может, это известная засада под 98 ? Никто не подскажет как создать под 98 pattern brush с размером больше 8*8 ?


P>TFM July 2001 гласит:

P>

P>CreatePatternBrush

P>Parameters
P>hbmp
P>[in] Handle to the bitmap to be used to create the logical brush.
P>Windows 95/98/Me: Creating brushes from bitmaps or DIBs larger than 8 by 8 pixels is not supported. If a larger bitmap is specified, only a portion of the bitmap is used.

P>Windows NT/2000 or later: Brushes can be created from bitmaps or DIBs larger than 8 by 8 pixels.

P>
P>Ку?

Неа, не ку. MSDN April 2000:

CreatePatternBrush
...
Windows 95: Creating brushes from bitmaps or DIBs larger than 8 by 8 pixels is not supported. If a larger bitmap is specified, only a portion of the bitmap is used.

Windows NT/ 2000 and Windows 98: Brushes can be created from bitmaps or DIBs larger than 8 by 8 pixels.


интересно, какой из MSDN прав...
Re[3]: CreatePatternBrush
От: vasketsov Россия http://ntprog.by.ru
Дата: 28.11.02 16:06
Оценка:
Здравствуйте, dolnick, Вы писали:


P>>TFM July 2001 гласит:

P>>Ку?

D>Неа, не ку. MSDN April 2000:

D>интересно, какой из MSDN прав...

Если не существует однозначных практических результатов или какие-то сомнения — прав более поздний MSDN, в нем тоже находятся и исправляются ошибки. А две приведенных выше версии уже не авторитетны (больше года прошло), это все ищется на msdn.microsoft.com замечательно.
Васкецов Сергей
http://registry.km.ru
Re[4]: CreatePatternBrush
От: Whisperer  
Дата: 28.11.02 16:11
Оценка:
Здравствуйте, vasketsov, Вы писали:

Верно

Windows 95: Creating brushes from bitmaps or DIBs larger than 8 by 8 pixels is not supported. If a larger bitmap is specified, only a portion of the bitmap is used.

Windows 98/Me and Windows NT/2000/XP: Brushes can be created from bitmaps or DIBs larger than 8 by 8 pixels.

А вобще я считаю (уже написал) что проблема у него не в этой функции, а раньше.
Re[5]: CreatePatternBrush
От: dolnick Германия  
Дата: 28.11.02 16:50
Оценка:
Здравствуйте, Whisperer, Вы писали:

W>Здравствуйте, vasketsov, Вы писали:


W>Верно

W>

W>Windows 95: Creating brushes from bitmaps or DIBs larger than 8 by 8 pixels is not supported. If a larger bitmap is specified, only a portion of the bitmap is used.

W>Windows 98/Me and Windows NT/2000/XP: Brushes can be created from bitmaps or DIBs larger than 8 by 8 pixels.

W>А вобще я считаю (уже написал) что проблема у него не в этой функции, а раньше.

я попробую сегодня вечером и сообщу о результатах. Сейчас на microsoft.com:

Windows 98/Me and Windows NT/2000/XP: Brushes can be created from bitmaps or DIBs larger than 8 by 8 pixels.

Re[6]: CreatePatternBrush
От: dolnick Германия  
Дата: 28.11.02 21:46
Оценка:
Здравствуйте, dolnick, Вы писали:
D>Здравствуйте, Whisperer, Вы писали:
W>>Здравствуйте, vasketsov, Вы писали:

W>>Верно

W>>

W>>Windows 95: Creating brushes from bitmaps or DIBs larger than 8 by 8 pixels is not supported. If a larger bitmap is specified, only a portion of the bitmap is used.

W>>Windows 98/Me and Windows NT/2000/XP: Brushes can be created from bitmaps or DIBs larger than 8 by 8 pixels.

W>>А вобще я считаю (уже написал) что проблема у него не в этой функции, а раньше.

D>я попробую сегодня вечером и сообщу о результатах. Сейчас на microsoft.com:

D>

Windows 98/Me and Windows NT/2000/XP: Brushes can be created from bitmaps or DIBs larger than 8 by 8 pixels.


Резюме
1) на microsoft.com написано, что в 98 можно создавать pattern brushes размером более 8х8 px
2) я попробовал сделать hDib при помощи CreateDIBitmap, передав указатель на BITMAPV5HEADER ну и bits. Потом CreatePatternBrush. Результат: в 2000 работает, в 98 — опять 8х8. CreateDIBPatternBrushPt не жрет, если передать packed dib с BITMAPV5HEADER даже в 2000, только BITMAPINFOHEADER.

Короче говоря, не удалось нифига сделать ( Жалко, очень надо. Может, все-таки делал кто такое ?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.