PDA

View Full Version : سوال: قدم به قدم نحوه استفاده از یک کنترل مانند SysListView32



soroush_vs
پنج شنبه 20 فروردین 1388, 18:09 عصر
با سلام
تقاضا دارم قدم به قدم نحوه استفاده از یک کنترل مانند SysListView32 که در لیست کامپوننت های خود ویژوال استادیو یافت نمیشود رو توضیح بدید.
ممنونم

soroush_vs
جمعه 21 فروردین 1388, 08:32 صبح
سوالم رو اینطوری مطرح میکنم که چگونه میتوانم از common control ها در پورژه ام استفاده کنم؟

Nima_NF
شنبه 22 فروردین 1388, 00:05 صبح
اگر شما از MFC استفاده می کنید تقریبا برای تمامی کنترل ها کلاس وجود دارد و نیاز نیست کار چندان خاصی انجام دهید، اگر به صورت کنترل قابل اضافه کردن از toolbox به دیالوگ هست آن را اضافه کنید و سپس متغیری از آن بسازید،
اگر هم در Toolbox وجود ندارد با کدنویسی یک نمونه از کلاس آن بسازید و در هنگام شروع برنامه در جای مشخصی از دیالوگ با متد Create آن را بسازید.

در win32 یا کلا به شیوه win32 باید ابتدا InitCommonControlsEx را فراخوانی کنید و سپس از طریق CreateWindow کنترل را با نام کلاسش فراخوانی کنید تا ساخته شود، مثلا برای LISTVIEW به این شکل:



INITCOMMONCONTROLSEX icex;

icex.dwSize = sizeof(INITCOMMONCONTROLSEX);
icex.dwICC = ICC_LISTVIEW_CLASSES;
InitCommonControlsEx(&icex);

hWndListView = CreateWindow(WC_LISTVIEW, "",
WS_CHILD | LVS_REPORT | LVS_EDITLABELS,
0, 0, 100, 100, hwndParent,
(HMENU) ID_LISTVIEW, hInst, NULL);

در MFC با AfxGetInstanceHandle می تواندی HINSTANCE را بگیرید.