Skocz do zawartości

ListBox - problem


Recommended Posts

Napisano

Mam pytanko!
Stworzylem sobie okienko dialogowe w zasobach a na tym okienku umiescilem sobie listbox'a. w zasobach ta kontrolka jest zdefiniowana jako IDC_LIST1 102
teraz mam pytanie:
jak wpisac cokolwiek do tej kontroli za pomoca SendMessage to znaczy jak uzyskac uchwyt do tej kontrolki? wiem ze mozna to zrobic np w ten sposob:
hwndlist = CreateWindow(i tutaj wszystkie parametry tej kontrolki) ...
...tylko ze ja nie chce tworzyc ten kontrolki bo mam juz ja w zasobach.
konkretnie chcialbym aby wtej kontrolce byly widoczne dyski i katalogi...
prosze o pomoc

Napisano

Zeby uzyskac uchwyt dowolnej kontrolki należy użyć funkcji:

HWND GetDlgItem(
  HWND hDlg,       // uchwyt rodzica kontrolki, czyli dialog boxa (to pewnie masz)
  int nIDDlgItem   // identyfikator kontrolki (w Twoim przypadku IDC_LIST1 lub 102)
);

Co do wyświetlania dysków i katalogów w ListBoxie to zainteresuj sie komunikatem LB_DIR (w MSDNie dość obszernei opisana).

Napisano

Hmm jesli chcerz wyswietlic dyski uzyj funkcji GetDriveType. Jak chcerz szukac katalogow uzyj funkcji FindFirstFile, FindNextFile. Czuje jakbym przezyl dejawu ( 8) czy jak to sie pisze), o ile sie nie myle to Temat Explorator. Tam byl podobny problem. tylko ze z TreeView :) .

Napisano
ptaku napisał:
chodzi mi o to ze jesli mam juz uchwyt listbox'a to jak teraz wyswietlic w nim dyski i katalogi?

No chyba napisałem wyżej. Teraz napiszę wprost:
Musisz wysłać do tego okna komunikat LB_DIR, czyli piszesz w kodzie:
SendMessage(hList,LB_DIR,(WPARAM) flagi,(LPARAM) string formatujący np "*.*");

Zeby wyswietlic dyski piszesz we flagach DDL_DRIVES.
Mysle ze jest to najłatwiejszy do zrealizowania sposób na wyświetlenie dysków i katalogów.

Napisano
Musisz wysłać do tego okna komunikat LB_DIR, czyli piszesz w kodzie:
SendMessage(hList,LB_DIR,(WPARAM) flagi,(LPARAM) string formatujący np "*.*");
Zeby wyswietlic dyski piszesz we flagach DDL_DRIVES.

wszystko dziala jak nalezy :D ... po prostu obslugiwalem nie ten komunikat...
dziękuje za odpowiedzi

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gość
Odpowiedz...

×   Wkleiłeś zawartość bez formatowania.   Usuń formatowanie

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Utwórz nowe...