История развития программирования, программирование, языки программирования, книги программирование На сайте представлена информация про программирование в Интернете и работу  

HTML parsen
2 иконки в Treeview
Помогите с ошибкой
Сохранение и загрузка текста в TextBox
Мультипоточность
ctrl+alt+del, ctrl+alt+del
имеет ли текстбокс фокус?
activeskin, поиск
Как округлить число
SOS!!!
Поиск файлов по шаблону, как найти все файлы с расширением jpg
Работа с файлом
Как разработать hlp-файл?, WhatsThisHelpID и hlp-файл
Вопрос про счетчик
сумма чётных и нечётных, сумма чётных и нечётных
Переключатели в меню
Большой текст в TextBox
Добавление тулбара и меню
Как Вы относитесь к курящим девушкам?
Количество запрашиваемых записей, ADODB
Русский язык в VBScript, Проблемма с русским языком в скриптах
Нужен счетчик
что работает быстрее?, оптимизация, и всё с ней связанное.
Перехват сообщений модема
Поля в принтере
Компилирование програм на VB6
Как прикрепить рисунок
Какая функция отсекает лишнюю часть числа
Работа c Диспечтером Задач, Как программно убить задачу
перехват данных АОН, Перехват потока сообщений системы
Создание картотеки как в windows 3.1, Как это сделать?
Как программно сделать копию экрана?
Зарезервированые слова
JTree, функция mark/unmark folder
Изменение свойств окна, В чужой программе
Данные внутри программы
Текстовые переменные, Не знаю как отобразить суть.
Открытие БД с паролем, Как открыть защищенную БД Access
Цвет шрифта на кнопке, winapi
Как создать объект?
ошибка!!!!, помогите разобраться в чём дело
SHChangeIconDialog, не возвращается путь к файлу...
Как отловить изменение ширины столбца MSFlexGrid
Запуск приложений на удаленном компьютере, Запуск приложений через ЛС на удаленном
Хук событий
Дистрибутив, Как его сделать
Сохранить рисунок в jpg,gif или bmp, Нарисованный в программе
Data, Проблемы с подключением txt файла
Что такое хост SMTP?, Что такое хост SMTP?
Select case
совместимость ВБ и МсВорда, как из ВБ управлять полями в ворде
Использование QueryDef
Иконки, как програмно....
Создание базы данных
Не работает МсВорд когда стоит ВБ6
Оптимизация программ
API функции для COM порта
vpn подключение
ListBox не отражает свойство Font.Charset, ListBox не отражает свойство Font.Charse
Файлы произвольного доступа
Аудиограббер, Можно его написать в VB6?
Как упростить код, Как упростить код
Мультфильмы, Как делать мультфильмы в Basic?
Как Вы относитесь к курящим девушкам?
Только числа, Опять я дурак...
из ВБ в ВБА срочно, перевести код из обычного ВБ в ВБА
Программирование для мобильных, Что выбрать?
Крестик, Крестик
Переменные в VB6
VBA, программирование на VBA

Платные хостинги     Раскрутка сайта     Книги по программированию


Иконки, как програмно....

Только здесь 1000 посетителей на Ваш сайт всего за 3 у.е.!

- Помогите, нужен исходник для решения такой задачки:на PictureBox - иконка, как програмно изменить ее цвета, чтобы она напоминала иконку на неактивном контроле (с учетом PictureBox.BackColor).И еще, можно ли как сделать интервал таймера меньше 1 mS?Заранее благодарен!

- Модератор: Пожалуйста, один топик - один вопрос.

- Сегодня где-то видел в разделе. Включи поиск! Это сообщение отредактировал Mephisto - 25.3.2005, 06:50

-

- А если возможности подгружать другую нет, тогда как быть. Нужна какая то функция заменяющая цвета.

- А как такое возможно? Что значит нет возможности?

- это значит, что я не могу знать, какую иконку пользоватеоль захочет вставить в мой контролл. Или нужно делать два свойства скажем NewCont.IconEnabled и NewCont.IconDisabled?

- - Так, конечно, тебе легче будет.Есть такой сайт vbAccelerator. Так вот на нем очень подробно рассматривается этот вопрос и в исходниках.

- на сайте vbAccelerator ничего подходящего не нашел, может еще чего кто подсажет? Работа встала только на этом.

- Ключевые вопросы:Programmatic Creation of Drop-ShadowsColourisationGamma CorrectionВот полностью готовый контрол с исходниками:vbAccelerator Toolbar and CoolMenu Control v3.5Также тебе может понадобится:Create a mask image (all black for the transparent colour otherwise white) from a bitmapReplace one Colour with another in a Picture using BitBltCreating a new GDI Bitmap from a VB Picture or DCCreate a VB Picture from a GDI Picture HandleCreate a VB Picture from an API Icon HandleЗЫ: И все с того сайта, на котором ты ничего не нашел.

- SOYвот тебе такой примерчик, думаю, тебе подойдет:Код Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long) As LongPrivate Declare Function SetPixel Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long, ByVal crColor As Long) As LongPrivate Sub Command1_Click()Dim iCountX As IntegerDim iCountY As IntegerDim lColor As LongMe.ScaleMode = vbPixelsPicture1.AutoRedraw = TrueFor iCountX = 0 To Picture1.Width    For iCountY = 0 To Picture1.Height        'получаем цвет каждой точки пикчербокса        lColor = GetPixel(Picture1.hdc, iCountX, iCountY)        'устанавлеваем новый цвет        SetPixel Picture1.hdc, iCountX, iCountY, ChangeBriteness(lColor, 10)    Next iCountYNext iCountXPicture1.RefreshEnd SubPrivate Function ChangeBriteness(ByVal lColor As Long, ByVal bStep As Byte) As Long'функция, возвращающая переданный ей цвет lColor с учетом градиента яркости bStepDim lR As Long, lG As Long, lB As LonglB = lColor \ 65536lG = (lColor - lB * 65536) \ 256lR = lColor - lB * 65536 - lG * 256lR = lR + bSteplG = lG + bSteplB = lB + bStepChangeBriteness = RGB(lR, lG, lB)End FunctionhighlightSyntax('vbDYyNzk','vb');ну, естесственно, "осветленную" или "затемненную" картинку можно сохранить в другом пикчербоксе

- efedron! Суперски!!!!! Думаю подойдет в качестве основы. Спасибоооо!!!

- Добился своего. Может кому тоже понадобиться. Вот код: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 LongPrivate Declare Function DrawIconEx Lib "user32" (ByVal hdc As Long, ByVal xLeft As Long, ByVal yTop As Long, ByVal hIcon As Long, ByVal cxWidth As Long, ByVal cyWidth As Long, ByVal istepIfAniCur As Long, ByVal hbrFlickerFreeDraw As Long, ByVal diFlags As Long) As LongPrivate Declare Function GetBkColor Lib "gdi32" (ByVal hdc As Long) As LongPrivate Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As LongPrivate Declare Function SetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal crColor As Long) As LongPrivate 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 LongPrivate Declare Function SetClipboardData Lib "user32" (ByVal wFormat As Long, ByVal hMem As Long) As LongPrivate Declare Function EmptyClipboard Lib "user32" () As LongPrivate Declare Function CloseClipboard Lib "user32" () As LongPrivate Declare Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As LongPrivate Declare Function CopyImage Lib "user32" (ByVal handle As Long, ByVal imageType As Long, ByVal newWidth As Long, ByVal newHeight As Long, ByVal lFlags As Long) As Long Const LR_MONOCHROME = &H1 Const CF_BITMAP = 2 Const SRCCOPY = &HCC0020'---------------------------------------------------------------------------------------------------- Dim ctPrivate Sub Command1_Click()Dim ghMNCHR Pic2, Form1, 10, 10, 40End SubPublic Sub MNCHR(pic As PictureBox, priem, left, top, size)Dim hNew As Longmask.Picture = Img.Picturepic.BackColor = priem.BackColorhNew = CopyImage(mask.Image, IMAGE_BITMAP, 0, 0, LR_MONOCHROME)OpenClipboard Me.hwndEmptyClipboardSetClipboardData CF_BITMAP, hNewCloseClipboardmask.Picture = Clipboard.GetData(vbCFBitmap)Dim ctX, ctY For ctX = 0 To mask.ScaleWidth For ctY = 0 To mask.ScaleHeight If GetPixel(mask.hdc, ctX, ctY) = vbWhite Then SetPixel pic.hdc, ctX + 1, ctY + 1, GetBkColor(pic.hdc) ElseIf GetPixel(mask.hdc, ctX, ctY) = vbBlack Then SetPixel pic.hdc, ctX + 1, ctY + 1, vbWhite End If Next Next For ctX = 0 To mask.ScaleWidth For ctY = 0 To mask.ScaleHeight If GetPixel(mask.hdc, ctX, ctY) = vbWhite Then SetPixel pic.hdc, ctX, ctY, GetPixel(pic.hdc, ctX, ctY) ElseIf GetPixel(mask.hdc, ctX, ctY) = vbBlack Then SetPixel pic.hdc, ctX, ctY, Coller(pic, -50) End If Next Next pic.Width = mask.Width + 2: pic.Height = mask.Height + 2 StretchBlt priem.hdc, left, top, size, size, pic.hdc, 0, 0, pic.ScaleWidth, pic.ScaleHeight, SRCCOPY pic.Cls: mask.ClsEnd SubPrivate Function Coller(pic As PictureBox, Step) As LongDim lR As Long, lG As Long, lB As Long, C1 As LongC1 = GetBkColor(pic.hdc)B = C1 \ 65536G = (C1 - B * 65536) \ 256R = C1 - B * 65536 - G * 256R = R + StepIf R < 0 Then R = 0G = G + StepIf G < 0 Then G = 0B = B + StepIf B < 0 Then B = 0Coller = RGB(R, G, B)End Function

Интернет казино     Онлайн игры     Увеличение члена     Купить DVD


Главная страница | история развития программирования | компьютеры программирование | lg программирование | задачи квадратичного программирования | winapi программирование | программирование x | программирование djvu | программирование visual foxpro | wap программирования | xp программирование | классы программирование | программирование motorola | графы программирование | программирование атс panasonic | языки программирования развитие | линейное программирование лекции | фортран программирования | программирование драйверов windows | tcp программирование | программирование qbasic | программирование проблемы | примеры задач линейного программирования | параметрическое программирование | дельфи программирование | программирование мыши | Ссылки

Все про классы программирование