IP 주소 컨트롤의 간단 사용법 DarkKaiser, 2010년 5월 18일2023년 9월 5일 IP 주소 컨트롤의 클래스 변수로 DWORD를 지정하여 아래와 같이 사용할 수 있다. 1. IP 문자열을 32비트로… // 인자로 전달받은 문자열에 해당하는 IP 주소를 32비트로 변환 DWORD dwAddress = inet_addr("10.1.1.100"); 2. 32비트를 IP 문자열로… // 네트워크 순서로 정렬된 값을 호스트 순서로 변환 DWORD dwAddress = ntohl(m_dwAddress); // 입력받은 32비트 IP 주소를 Continue Reading
페이저 컨트롤 DarkKaiser, 2010년 5월 18일2023년 9월 5일 페이저 컨트롤은 도구 모음이나 버튼처럼 스크롤 기능이 없는 윈도우에 스크롤 기능을 제공하는 역활을 합니다. .h CPagerCtrl m_wndPager; CToolBar m_wndToolBar; afx_msg void OnCalcSize(NMHDR * pNotifyStruct, LRESULT * result); .cpp ON_NOTIFY(PGN_CALCSIZE, 1234, &CPagerDemoView::OnCalcSize) OnCreate() { ... m_wndPager.Create(WS_VISIBLE | WS_CHILD | PGS_HORZ, CRect(0, 0, 100, 32), this, 1234); m_wndToolBar.CreateEx(&m_wndPager); m_wndToolBar.LoadToolBar(IDR_MAINFRAME); m_wndPager.SetChild(m_wndToolBar.m_hWnd); m_wndPager.SetButtonSize(10); m_wndPager.SetBorder(0); Continue Reading
CListCtrl에서 Drag & Drop 구현 DarkKaiser, 2010년 5월 18일2023년 9월 5일 .h CImageList* m_pImgListDrag; .cpp void CDragDemoDlg::OnLvnBegindragListLeft(NMHDR *pNMHDR, LRESULT *pResult) { LPNMLISTVIEW pNMLV = reinterpret_cast(pNMHDR); // ptDrag : 드래그하는 항목의 ListCtrl 기준 좌표 CPoint ptDrag, ptAction; m_nIndexLeftSel = pNMLV-iItem; m_pImgListDrag = m_List_Left.CreateDragImage(pNMLV-iItem, &ptDrag); m_pImgListDrag-SetBkColor(RGB(0, 0, 0)); ptAction = pNMLV-ptAction; SetCapture(); m_pImgListDrag-BeginDrag(0, ptAction - ptDrag); m_List_Left.ClientToScreen(&ptAction); m_pImgListDrag- Continue Reading
CListCtrl의 헤더 컨트롤 드래그 & 드랍 및 정렬 DarkKaiser, 2010년 5월 18일2023년 9월 6일 //헤더 컨트롤 드래그-앤-드롭 가능 DWORD dwExStyle = m_List.GetExtendedStyle(); m_List.SetExtendedStyle(dwExStyle | LVS_EX_HEADERDRAGDROP ); // 헤더 컨트롤을 통한 정렬을 가능하도록 한다. m_bAscending = FALSE; m_List.SortItems(&CHeadCtrlDemoDlg::CompareItem, (DWORD_PTR)this); UpdateArrow(); // 헤더 컨트롤의 HDN_ITEMCLICK 메시지 핸들러 void CHeadCtrlDemoDlg::OnHdnItemclickList1(NMHDR *pNMHDR, LRESULT *pResult) { LPNMHEADER phdr = reinterpret_cast<LPNMHEADER(pNMHDR); if(phdr-iItem == 0) { m_bAscending = !m_bAscending; Continue Reading
CListCtrl의 그룹관리 DarkKaiser, 2010년 5월 18일2023년 9월 5일 //1.그룹 생성 및 추가 LVGROUP group; ::ZeroMemory(&group, sizeof(group)); group.cbSize = sizeof(group); group.mask = LVGF_HEADER | LVGF_GROUPID; group.pszHeader = _T("First Group"); group.iGroupId = 10; m_List.InsertGroup(-1, &group); group.pszHeader = _T("Second Group"); group.iGroupId = 20; m_List.InsertGroup(-1, &group); //2.아이템 추가 LVITEM item; ::ZeroMemory(&item, sizeof(item)); item.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_GROUPID; CString strItem = Continue Reading