All pastes #965773 Raw Edit

Miscellany

public text v1 · immutable
·published 2008-04-01 05:52 UTC
rendered paste body
	int index;
	int length;
	TCHAR *filename;

	switch(Msg)
	{
	case WM_CREATE: {
		hList = CreateWindowEx(WS_EX_CLIENTEDGE, L"Listbox", L"", WS_CHILD | WS_VISIBLE | LBS_NOTIFY | LBS_HASSTRINGS, 338, 0, 150, 275, hWnd,  
               (HMENU)IDC_LIST, GetModuleHandle(NULL), NULL);
		
		WIN32_FIND_DATA	FindData;
		HANDLE hFile = FindFirstFile(L"*.bmp", &FindData);
		
                index = SendMessage(hList, LB_ADDSTRING, 0, (LPARAM)FindData.cFileName);           //
		while(FindNextFile(hFile, &FindData)) {                                            //populate listbox with filenames
			index = SendMessage(hList, LB_ADDSTRING, 0, (LPARAM)FindData.cFileName);   //
		}
		index = SendMessage(hList, LB_GETTOPINDEX, 0, 0);   //
		SendMessage(hList, LB_SETCURSEL, (WPARAM)index, 0); // select topmost item 
		
		break;
		}

	case WM_PAINT: {
		index = SendMessage(hList, LB_GETCURSEL, 0, 0); //get index of selected item(1st item 1st time through)
		length = SendMessage(hList, LB_GETTEXTLEN, (WPARAM)index, 0); //get length of text
		filename = (TCHAR*) malloc (length + 1);
		SendMessage (hList, LB_GETTEXT, (WPARAM)index, (LPARAM)filename); //get filename
		
                SetWindowText(hWnd, filename); //just a convenient test to see if text was retrieved from list
		
		break;
		}

	case WM_COMMAND: {
		switch(LOWORD(wParam)) {
            case IDC_LIST:
                switch(HIWORD(wParam)) {
					
                    case LBN_SELCHANGE:
			     SendMessage(hWnd, WM_PAINT, 0, 0); 
			     break;
                }
            break;
            }
		break;
		}