|
![]() | 作者: battle [battle]
![]() |
登录 |
#include <windows.h> #include <commctrl.h> #pragma comment(lib,"comctl32.lib") #include "resource.h" #include <iostream> using namespace std; HWND hTreeView; #define TREEVIEW 8600 LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM); LRESULT CALLBACK TreeView(HWND,UINT,WPARAM,LPARAM); int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int iCmdShow) { WNDCLASS wc; HWND hWnd; MSG msg; char title[] = "Trojan"; char clas[] = "tt"; wc.style = CS_HREDRAW |CS_VREDRAW; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hIcon = LoadIcon(NULL,IDI_APPLICATION); wc.hCursor = LoadCursor(NULL,IDC_ARROW); wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); wc.hInstance = hInstance; wc.lpfnWndProc = WndProc; wc.lpszMenuName = NULL; wc.lpszClassName = clas; RegisterClass(&wc); InitCommonControls(); hWnd = CreateWindow(clas, title, WS_OVERLAPPEDWINDOW, 0,0,650,500, NULL, NULL, hInstance, NULL); ShowWindow(hWnd,iCmdShow); while(GetMessage(&msg,NULL,0,0)) { TranslateMessage(&msg); DispatchMessage(&msg); } return msg.wParam; } LRESULT CALLBACK WndProc(HWND hWnd,UINT Message,WPARAM wParam,LPARAM lParam) { switch(Message) { case WM_CREATE: { hTreeView = CreateWindowEx(WS_EX_CLIENTEDGE, WC_TREEVIEW, "", WS_CHILD|WS_VISIBLE| TVS_LINESATROOT | TVS_HASBUTTONS | TVS_SHOWSELALWAYS, 0,0,300,480, hWnd, (HMENU)TREEVIEW, (HINSTANCE)GetWindowLong(hWnd,GWL_HINSTANCE), NULL); HIMAGELIST hImage; HBITMAP hBit; hImage = ImageList_Create(16, 16, ILC_MASK | ILC_COLOR32, 2, 0); hBit = LoadBitmap((HINSTANCE)GetWindowLong(hWnd,GWL_HINSTANCE),MAKEINTRESOURCE(IDB_BITMAP1)); ImageList_AddMasked(hImage,hBit,RGB(3,126,345)); TreeView_SetImageList(hTreeView,hImage, TVSIL_NORMAL); TVINSERTSTRUCT tvis = { 0 }; tvis.item.mask = TVIF_TEXT | TVIF_PARAM | TVIF_IMAGE | TVIF_SELECTEDIMAGE; tvis.item.pszText ="你好"; tvis.item.iImage = 1; tvis.item.iSelectedImage = 0; HTREEITEM hItem = TreeView_InsertItem(hTreeView, &tvis); } break; case WM_NOTIFY: switch(wParam) { case TREEVIEW: TreeView(hWnd,Message,wParam,lParam); } break; case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hWnd,Message,wParam,lParam); } } LRESULT CALLBACK TreeView(HWND hWnd,UINT Message,WPARAM wParam,LPARAM lParam) { #define lpnm ((LPNMHDR)lParam) switch(lpnm->code) { case NM_CLICK: HTREEITEM hRoot = TreeView_GetSelection(lpnm->hwndFrom); TVITEM tvItem; tvItem.mask = TVIF_HANDLE | TVIF_STATE; tvItem.hItem = hRoot; tvItem.stateMask = TVIS_STATEIMAGEMASK; TreeView_SetItem(hTreeView, &tvItem); // SendMessage(hTreeView,TVM_GETITEM,0,(LPARAM)&tvItem); MessageBox(NULL,tvItem.pszText,"a",0); //怎么得到鼠标点的哪项的字符串..刚才添加的 "你好" ..点的时候得到 "你好" break; } return FALSE; } |
地主 发表时间: 05-05-18 20:54 |
|
20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon
粤ICP备05087286号