![]() |
|
|||||||
| Kayıt ol | Albümler | Bloglar | Yardım | Takvim | Gruplar | Etiketler | Arama | Bugünki Mesajlar | Bütün Forumları okunmuş kabul et |
|
|
![]() |
|
|
Konu Araçları | Stil |
|
|
#1 (permalink) | ||
|
İnta Omri
![]() ![]() Üyelik tarihi: Mar 2007
Nerden: Ali Sami Yen / Florya / Mecidiye Köy /
Yaş: 21
Mesajlar: 4.461
Konular: 1082
Üye No: 807
Ruh halim:
Rep Gücü : 472
Rep Puanı : 9069
Rep Seviyesi :
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
TreeView Kontrolü nasıl yapılır mesela aşağıdaki kodda listbox içindekki verileri nasıl ağaç görünümü içine koyabilirim?
Kod:
#include <windows.h>
#include <Tlhelp32.h>
#include <commctrl.h>
LRESULT CALLBACK PencereProseduru (HWND, UINT, WPARAM, LPARAM);
char YapiSinifAdi[ ] = "WindowsUygulamasi";
HWND Dugme1Tutmaci, Durgun1Tutmaci, LKutu1Tutmaci, Agac1Tutmaci;
HIMAGELIST ResimListesiTutmaci;
TV_ITEM AGNesnesi;
TV_INSERTSTRUCT AGYapisi;
int WINAPI WinMain (HINSTANCE AnaFonksiyonTutmaci, HINSTANCE hPrevInstance, LPSTR lpszArgument, int nFunsterStil)
{
HWND AnaPencereTutmaci;
MSG Mesajlar;
WNDCLASSEX PencereYapisi;
PencereYapisi.hInstance = AnaFonksiyonTutmaci;
PencereYapisi.lpszClassName = YapiSinifAdi;
PencereYapisi.lpfnWndProc = PencereProseduru;
PencereYapisi.style = CS_DBLCLKS;
PencereYapisi.cbSize = sizeof (WNDCLASSEX);
PencereYapisi.hIcon = LoadIcon (NULL, IDI_APPLICATION);
PencereYapisi.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
PencereYapisi.hCursor = LoadCursor (NULL, IDC_ARROW);
PencereYapisi.lpszMenuName = NULL;
PencereYapisi.cbClsExtra = 0;
PencereYapisi.cbWndExtra = 0;
PencereYapisi.hbrBackground = (HBRUSH) COLOR_BACKGROUND;
if (!RegisterClassEx (&PencereYapisi))
return 0;
AnaPencereTutmaci = CreateWindowEx (
0,
YapiSinifAdi,
"Motor",
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
800,
600,
HWND_DESKTOP,
NULL,
AnaFonksiyonTutmaci,
NULL
);
ShowWindow (AnaPencereTutmaci, nFunsterStil);
Dugme1Tutmaci = CreateWindowEx (
0,
"button",
"Çalıştır",
WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
2,
2,
170,
30,
AnaPencereTutmaci,
(HMENU)1,
AnaFonksiyonTutmaci,
NULL
);
Durgun1Tutmaci = CreateWindowEx (
0,
"static",
"Başlatmak için yukarıdaki düğmeye basınız",
WS_CHILD | WS_VISIBLE | WS_BORDER | SS_LEFT,
2,
35,
170,
35,
AnaPencereTutmaci,
(HMENU)2,
AnaFonksiyonTutmaci,
NULL
);
LKutu1Tutmaci = CreateWindowEx (
0,
"listbox",
"",
WS_CHILD | WS_VISIBLE | WS_BORDER | LBS_MULTICOLUMN | LBS_SORT,
174,
2,
150,
300,
AnaPencereTutmaci,
(HMENU)3,
AnaFonksiyonTutmaci,
NULL
);
Agac1Tutmaci = CreateWindowEx (
0,
WC_TREEVIEW,
"Ağaç Görünümü",
WS_VISIBLE | WS_CHILD | WS_BORDER | TVS_HASLINES | TVS_LINESATROOT | TVS_HASBUTTONS,
400,
2,
150,
300,
AnaPencereTutmaci,
(HMENU)4,
AnaFonksiyonTutmaci,
NULL
);
AGNesnesi.mask = TVIF_TEXT | TVIF_IMAGE | TVIF_SELECTEDIMAGE;
AGNesnesi.pszText = "Node da görünen Yazi";
AGNesnesi.iImage = 0;
AGNesnesi.iSelectedImage = 1;
AGYapisi.hParent = NULL;
AGYapisi.hInsertAfter = TVI_ROOT;
AGYapisi.item = AGNesnesi;
TreeView_InsertItem(Agac1Tutmaci, &AGYapisi);
TreeView_InsertItem (Agac1Tutmaci, &AGYapisi);
while (GetMessage (&Mesajlar, NULL, 0, 0))
{
TranslateMessage(&Mesajlar);
DispatchMessage(&Mesajlar);
}
return Mesajlar.wParam;
}
LRESULT CALLBACK PencereProseduru (HWND AnaPencereTutmaci, UINT message, WPARAM wParam, LPARAM lParam)
{
char Dugme1Ismi[256];
BOOL DuzMantik1;
PROCESSENTRY32 IslenenBilgisi = {sizeof (PROCESSENTRY32)};
HANDLE SipSakTutmaci;
TCHAR Saklayici[1024];
switch (message)
{ case WM_COMMAND:
if(LOWORD(wParam) == 1 && HIWORD(wParam) == BN_CLICKED)
{
GetWindowText(Dugme1Tutmaci, Dugme1Ismi, sizeof(Dugme1Ismi));
if (strcmp(Dugme1Ismi, "Durdur")== 0)
{ SetWindowText (Durgun1Tutmaci, "Başlamak için yukarıdaki düğmeye basınız");
SetWindowText (Dugme1Tutmaci,"Çalıştır");
SendMessage(LKutu1Tutmaci, LB_RESETCONTENT, 0, 0);
break;
}
else
{ SetWindowText (Durgun1Tutmaci,"Durmak için yukarıdaki düğmeye basınız");
SetWindowText (Dugme1Tutmaci, "Durdur");
SipSakTutmaci = CreateToolhelp32Snapshot (TH32CS_SNAPPROCESS, 0);
DuzMantik1 = Process32First (SipSakTutmaci, &IslenenBilgisi);
while (DuzMantik1)
{
wsprintf(Saklayici,"%s, %d, %d",IslenenBilgisi.szExeFile, IslenenBilgisi.cntThreads, IslenenBilgisi.th32ProcessID);(Saklayici,"%s, Thread = %d", IslenenBilgisi.szExeFile, IslenenBilgisi.cntThreads);
SendMessage (LKutu1Tutmaci, LB_ADDSTRING,0,(LPARAM)Saklayici);
DuzMantik1 = Process32Next (SipSakTutmaci, &IslenenBilgisi);
}
CloseHandle(SipSakTutmaci);
break;
}
}
break;
case WM_DESTROY:
PostQuitMessage (0);
break;
default:
return DefWindowProc (AnaPencereTutmaci, message, wParam, lParam);
}
return 0;
}
__________________
Şarap Tadında demlenmiş Bi adamım Şimdi... ![]() |
||
|
|
|
![]() |
| Bu konunun kısa yolunu aşağıdaki sitelere ekleyebilirsiniz! |
| Konu Araçları | |
| Stil | |
|
|
Benzer Konular
|
||||
| Konu | Konuyu Başlatan | Forum | Cevaplar | son Mesaj |
| PHP ile Neler Yapılabilir? | WaMPiR_CaDı | PHP | 2 | 30-07-2008 09:32 |
| Rapidshare Otomatik Link Kontrolü Nasıl yapılır? | WaHShi | Bilgisayar | 0 | 21-04-2008 12:38 |
| Klavyeye arka aydınlatma yapılabilir mi? Yardım | U^Re | Donanım | 1 | 13-03-2008 22:24 |
| Civatadan neler yapılabilir.. | WaMPiR_CaDı | Hobileriniz | 2 | 19-01-2008 23:33 |
| iki elle neler yapılabilir?izleyin ve görün ağzınız acık kalcak | wanted | Garip olaylar | 3 | 29-07-2007 23:57 |