0 Members and 1 Guest are viewing this topic.
Ну что там код... Как написал выше, таймер пытаюсь запустить из Init-функции. А функцию таймера Code: [Select]void CALLBACK _export TimerProc(HWND hwnd, UINT msg, UINT idTimer, DWORD dwTime) размещаю "вне" и "до" класса. Плагин собирается и в списке плеера появляется, но не грузится.
void CALLBACK _export TimerProc(HWND hwnd, UINT msg, UINT idTimer, DWORD dwTime)
procedure TimerProcedure(Handle: HWND; uMsg: UINT; idEvent: UINT_PTR; dwTime: DWORD); stdcall;begin . . .end;
void RenderForm(void){TopLeft = Point(Form2->Left,Form2->Top);DC = GetDC(0); ::UpdateLayeredWindow(Form2->Handle,DC,&TopLeft, &zsize, sdc,&zpoint,0, &zbf, ULW_ALPHA); ReleaseDC(0,DC);}
HDC sdc; //объявлена глобально
Gdiplus::Bitmap BT;
sdc = GetBitmapDC(BT,Form2->Canvas->Handle);
HDC GetBitmapDC(Gdiplus::Bitmap *b, HWND handle){HDC shdc;HBITMAP hbmp;HGDIOBJ temp;shdc = CreateCompatibleDC (handle);b->GetHBITMAP (NULL, &hbmp);temp = SelectObject (shdc, hbmp);return shdc;}
DeleteObject (SelectObject (sdc, temp)); DeleteDC (sdc);
//Собственно загрузка иконки из ресурсов в HBITMAPHBITMAP hImage = LoadBitmap(GetModuleHandle(NULL),MAKEINTRESOURCE(IDB_BITMAP1)); AIMPMenuInfo nfo; ZeroMemory(&nfo, sizeof(nfo)); nfo.Checkbox = false; nfo.RadioItem = false; nfo.Checked = false; nfo.Enabled = true; nfo.Bitmap = hImage; nfo.ProcPtr = (int)MenuProc; nfo.Caption = L"test"; nfo.User = 0; Controller->AIMP_Menu_Create(AIMP_PLS_MENU, &nfo);
Привет всем Пытаюсь показать иконку около созданного меню плагином...Написал код, меню добавляется корректно, иконка не отображается:Code: [Select]//Собственно загрузка иконки из ресурсов в HBITMAPHBITMAP hImage = LoadBitmap(GetModuleHandle(NULL),MAKEINTRESOURCE(IDB_BITMAP1)); AIMPMenuInfo nfo; ZeroMemory(&nfo, sizeof(nfo)); nfo.Checkbox = false; nfo.RadioItem = false; nfo.Checked = false; nfo.Enabled = true; nfo.Bitmap = hImage; nfo.ProcPtr = (int)MenuProc; nfo.Caption = L"test"; nfo.User = 0; Controller->AIMP_Menu_Create(AIMP_PLS_MENU, &nfo);Что я делаю не правильно? Так же есть еще вопрос... Добавляю URL в плейлист, файл добавляется в категорию "None". Что отвечает за имя категории? А то None как-то некрасиво =)))И еще при добавлении URL заполняю в структуре AIMP2FileInfo поле Artist, Title, Album - все добавляется нормально, в информации о файле в плеере все ок, а при запуске проигрывания файла в имени вместо "Artist - Title" выводится ссылка... Как оставить формат "Artist - Title"?И последний вопрос. Может быть на форуме уже где-то и было, не нашел) . Есть ли возможность создавать "Аимповые" окошки? Или рисовать под оформление Аимпа вручную?Заранее спасибо за ответы =)
GetModuleHandle(NULL)
Есть ли возможность создавать "Аимповые" окошки?
Написал код, меню добавляется корректно, иконка не отображается:Code: [Select]//Собственно загрузка иконки из ресурсов в HBITMAPHBITMAP hImage = LoadBitmap(GetModuleHandle(NULL),MAKEINTRESOURCE(IDB_BITMAP1)); AIMPMenuInfo nfo; ZeroMemory(&nfo, sizeof(nfo)); nfo.Checkbox = false; nfo.RadioItem = false; nfo.Checked = false; nfo.Enabled = true; nfo.Bitmap = hImage; nfo.ProcPtr = (int)MenuProc; nfo.Caption = L"test"; nfo.User = 0; Controller->AIMP_Menu_Create(AIMP_PLS_MENU, &nfo);Что я делаю не правильно?
HBITMAP hImage = LoadBitmap(GetModuleHandle(NULL),MAKEINTRESOURCE(IDB_BITMAP1));
HBITMAP hImage = LoadBitmap(GetModuleHandle(NULL),"IDB_BITMAP1");
HBITMAP hImage = LoadBitmap(hInst, "IDB_BITMAP1");
Так же есть еще вопрос... Добавляю URL в плейлист, файл добавляется в категорию "None". Что отвечает за имя категории? А то None как-то некрасиво =)))И еще при добавлении URL заполняю в структуре AIMP2FileInfo поле Artist, Title, Album - все добавляется нормально, в информации о файле в плеере все ок, а при запуске проигрывания файла в имени вместо "Artist - Title" выводится ссылка... Как оставить формат "Artist - Title"?
HBITMAP hImage = LoadBitmap(GetModuleHandle(L"AIMP_IMS.dll"),MAKEINTRESOURCE(IDB_BITMAP1));
акукусики,Code: [Select] HBITMAP hImage = LoadBitmap(GetModuleHandle(L"AIMP_IMS.dll"),MAKEINTRESOURCE(IDB_BITMAP1));тоже не работает((( иконка 16х16 должна быть? Может там в чем-то ошибся...Lyuter,Попробовал все варианты кроме последнего, не работает а в последнем не могу получить HINSTANCE
акукусики,Без .dll пробовал тоже...Ну тогда попробую поковыряю AddonHeader...
LoadBitmap(GetModuleHandle(L"AIMP_IMS"),MAKEINTRESOURCE(IDB_BITMAP1));
Если действительно ваша DLL так называется и если действительно имеется изображение в ресурсах с таким идентификатором, то ошибки быть не должно) проверьте возвращаемое значение.
все, заработало)) спасибо!Оказывается вся проблема была в том, что я для тестирования создал картинку желтого цвета, а он выводился как прозрачный)))Я вообще уже не знал, что делать)))
все, заработало)) спасибо!Оказывается вся проблема была в том, что я для тестирования создал картинку желтого цвета, а он выводился как прозрачный)))Я вообще уже не знал, что делать))) Спасибо за помощь!
If this parameter is NULL, GetModuleHandle returns a handle to the file used to create the calling process (.exe file).