Add item into a tab control programmatically.

Hi,

I am trying to add a listview into a tab control where it should be in the 2nd tabpage of my tab control but I can't figure it out how should I do it. Here is some snippet how my program works.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
//creating a tab control
HWND CreateTabControl(HWND hWnd, HINSTANCE hInstance, const unsigned int uID, const int iHeight, const int iWidth, const int iX, const int iY, const int iTab, ...)
{
	TC_ITEM tc;
	va_list va;
	va_start(va, iTab);

	if(hWnd != NULL && hInstance != NULL) {
		HWND hTab = CreateWindowEx(WS_EX_CLIENTEDGE, WC_TABCONTROL, NULL, WS_BORDER | WS_CHILD | WS_VISIBLE, 
			iX, iY, iWidth, iHeight, hWnd, reinterpret_cast<HMENU>(uID), hInstance, NULL);

		if(hTab != NULL) {
			ApplyFont(14, hTab);

			for(int i = 0; i < iTab; i++) {
				tc.mask = TCIF_TEXT;
				tc.pszText = va_arg(va, LPSTR);
				tc.iImage = -1;
				tc.lParam = 0;
				TabCtrl_InsertItem(hTab, i, &tc);
			}
		}
		return hTab;
	}
	return NULL;
}

//creating a listview
HWND CreateListView(bool fCheckBoxes, const int iX, const int iY, const int iWidth, const int iHeight, HWND hWnd,
   const unsigned int uId, HINSTANCE hInstance)
{
   if (hWnd != NULL && hInstance != NULL)
   {
      HWND hListView = CreateWindowEx(WS_EX_CLIENTEDGE, WC_LISTVIEW, NULL,
         WS_VISIBLE | WS_CHILD | LVS_REPORT | LVS_SINGLESEL | LVS_NOSORTHEADER, 
         iX, iY, iWidth, iHeight, hWnd, reinterpret_cast<HMENU>(uId), hInstance, NULL);

      if (hListView != NULL)
      {
         ListView_SetExtendedListViewStyle(hListView, LVS_EX_GRIDLINES |
            (fCheckBoxes ? LVS_EX_CHECKBOXES | LVS_EX_FULLROWSELECT : LVS_EX_FULLROWSELECT));
         ApplyFont(14, hListView);
      }

      return hListView;
   }

   return NULL;
}

//WM_CREATE handle
inline LRESULT HandleWM_CREATE(HWND hWnd)
{
	CreateTabControl(hWnd, hInstance, IDC_TABCONTROL, 464, 637, 0, 0, 2, "A", "B");
	//CreateListView(false, 0, 0, 637, 464, hWnd, IDC_LISTVIEW, hInstance);
	return 0;
}

//WndProc CallBack
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
   switch (message)
   {
      case WM_CREATE:
		  return HandleWM_CREATE(hWnd);
         break;

      case WM_COMMAND:
		 break;

      case WM_CLOSE:
         return (DestroyWindow(hWnd) == TRUE ? 0 : -1);

      case WM_DESTROY:
      {
         PostQuitMessage(0);
         return 0;
      }

      default:
         return DefWindowProc(hWnd, message, wParam, lParam);
   }
}


Any idea to improve my snippet to make it able to insert into the tab page I preferred?
Topic archived. No new replies allowed.