xevuel Temat założony przez niniejszego użytkownika |
[WinAPI, C++] ListView - dodawanie ikon do wierszy » 2011-08-02 11:37:14 Chciałbym do kontrolki ListBox dodać obraz, a koło tego tekst. Tworzę program, który w formie graficznej wyświetli (właśnie w ListBoxie) zawartość katalogu, w którym został uruchomiony. W google szukałem, ale co znajdę, to albo Delphi, albo Pascal. Wie ktoś jak to zrobić? |
|
malan |
» 2011-08-02 11:56:59 |
|
Mrowqa |
» 2011-08-02 13:35:02 W google szukałem, ale co znajdę, to albo Delphi, albo Pascal. |
WinAPI to WinAPI... masz tam nazwę funkcji i takie tam. Inny język - inna składnia, ale działanie nie. Ja znalazłem dużo info na temat ListBoksa w Delphi kiedyś i potrafiłem to wykorzystać :) |
|
xevuel Temat założony przez niniejszego użytkownika |
ListView_SetImageList » 2011-08-02 15:23:13 malan - 2 parametrem tej funkcji (ListView_SetImageList) jest argument o typie HIMAGELIST. Sprawdzałem w googlach jak można go uzyskać, i znalazłem coś takiego: http://msdn.microsoft.com/en-us/library/bb761522(v=vs.85).aspx(Nie umieściłem tego linka jako hiperłącze, bo nie wiem jak - nigdzie nie ma żadnych podpowiedzi) Jednak wydaje mi się, że czegoś nie rozumiem. Otóż wszystkimi argumentami funkcji ImageList_Create są wartości int! Więc gdzie ja mam podać ścieżkę do obrazu?? |
|
Mrowqa |
» 2011-08-02 15:28:18 |
|
malan |
» 2011-08-02 16:00:37 |
|
xevuel Temat założony przez niniejszego użytkownika |
» 2011-08-03 10:40:23 dzięki, właśnie tej funkcji nie znałem. //EDIT: Mam taki kod: HWND h_list; h_list = CreateWindowEx( WS_EX_CLIENTEDGE, "ListBox", NULL, WS_CHILD | WS_VISIBLE | WS_BORDER, 5, 5, 150, 200, hwnd, NULL, hThisInstance, NULL );
HIMAGELIST himlDef; himlDef = ImageList_Create( 16, 16, ILC_COLOR24 | ILC_MASK, 0, 1 );
HBITMAP ikona; ikona =( HBITMAP ) LoadImage( NULL, "ikona.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE );
ImageList_AddMasked( himlDef, ikona, RGB( 255, 255, 255 ) );
ListView_SetImageList( h_list, himlDef, LVSIL_NORMAL );
ImageList_Destroy( himlDef ); DeleteObject( ikona );
i zarówno Dev, jaki Code::Blocks wyświetlają mi błedy: [Linker error] undefined reference to `ImageList_Create@20' [Linker error] undefined reference to `ImageList_AddMasked@12' [Linker error] undefined reference to `ImageList_Destroy@4'
Pododbno Dev ma "skopany" nagłowek commctrl.h, ale dlaczego Code::Blocks? I co muszę zmienić? |
|
SeaMonster131 |
» 2011-08-03 13:05:12 Musisz chyba dołączyć do linkera: -lcomctl32 Albo samemu dodać plik o mniej więcej takiej nazwie (np libcomctl32) :) |
|
« 1 » 2 3 4 |