Изменение логической палитры на vb6

Тема в разделе "Visual Basic", создана пользователем alexandr777, 24 янв 2016.

  1. alexandr777

    alexandr777 New Member

    Регистрация:
    24 янв 2016
    Сообщения:
    1
    Симпатии:
    0
    Нужен конкретный и РАБОТАЮЩИЙ коротенький и наглядный пример (код) использования API - функции SetPaletteEntries
    DECLARE FUNCTION SetPaletteEntries LIB "GDI32.DLL" ALIAS "SetPaletteEntries" (BYVAL hPalette AS DWORD, BYVAL wStartIndex AS DWORD, BYVAL wNumEntries AS DWORD, lpPaletteEntries AS PALETTEENTRY) AS DWORD
    на языке VB6 или Power Basic Console Compiler 5.0 или выше.
    Типа: Рисуем рисунок любой примитивный (методом LINE и т. д.) в графическом окне (для PBCC 5.0 или выше) или форме(PictureBox, Image) для VB6 какими-нибудь цветами. А потом меняем программно с помощью API - функции SetPaletteEntries логическую палитру для 256 цветов (именно 256!) и выводим тот же рисунок точно так же как и до того. Но он уже будет(должен), очевидно, отображаться другой палитрой красок. И всё, больше ничего!
    Главное:
    1) Где и как конкретно брать хэндл палитры hPalette? (это самое непонятное)
    2) wStartIndex = 0
    3) wNumEntries = 256
    4) Заполнить структуру lpPaletteEntries какими-нибудь произвольными (RND) кодами цветов (0-255) в цикле и поместить структуру (указатель на неё, первый элемент) в API-функцию.
    И чтобы это реально РАБОТАЛО именно для VB6 или PBCC 5.0 или выше (примеры на С++ и Дельфи абсолютно мимо, НЕ НАДО!)
    Жду конкретный РАБОТАЮЩИЙ код!!!
     
Загрузка...

Поделиться этой страницей