Skip to content
DarkKaiser의 블로그
DarkKaiser의 블로그
  • 개발 관련 자료(노션)
  • Raspberry Pi(노션)
  • WD My Cloud(노션)
  • GitHub
DarkKaiser의 블로그

[글쓴이:] DarkKaiser

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

tinyxml 정리

DarkKaiser, 2010년 5월 13일2023년 9월 4일
http://lyb1495.tistory.com/entry/C-XML-Parser-TinyXml
Continue Reading

SAX를 이용한 Java XML 샘플 코드

DarkKaiser, 2010년 5월 12일2023년 9월 6일
import java.io.*;
import org.xml.sax.*;
import org.xml.sax.helpers.*;
import javax.xml.parsers.*;

public class SaxSample {
  public static void main(String[] args) {
    // SAX를 준비한다.
    SAXParser saxParser = null;
 
    try {
      SAXParserFactory saxFactory = SAXParserFactory.newInstance();
      saxParser = saxFactory.newSAXParser();
    } catch (ParserConfigurationException e) {
      e.printStackTrace();
    } catch (SAXException e) {
      e.printStackTrace();
    }

    // 핸들러를 작성한다.
    
Continue Reading

for each

DarkKaiser, 2010년 5월 10일2023년 9월 6일

참고 : Vector Container Iterating 속도 비교(http://npteam.net/775)

VS2005부터는 for each, in 키워드를 지원한다.
for each 문은 C#이나 JAVA 5 버전부터 지원하는 키워드이나 VS2005부터 지원한다. C++ 표준은 아직 아니고 MS Specific 이다.
MS의 for each 문은 향상된 for 문으로 STL이나 CLR의 Collection을 지원한다. 하지만 안타깝게도 VS2005부터 사용되는 ATL Collection

Continue Reading

VS2010 VC++10 C++ 0x 정리 – 2

DarkKaiser, 2010년 5월 7일2023년 9월 6일

RValue Reference

자세한 참고 사이트 : http://vsts2010.tistory.com/56

1. 식이 끝난 후 계속 존재하는 값은 좌측 값, 식이 끝나면 존재하지 않는 값은 임시 값은 우측 값

2.‘ &’을 사용한 참조를 정확하게는‘LValue Reference’라고 부른다. 사용 방법은 기존의 참조와 비

슷하여 참조가‘&’을 사용했듯이‘&&’를 사용

3. 좌측 값 참조는 좌측 값을 참조하고, 우측 값

Continue Reading

VS2010 VC++10 C++ 0x 정리 – 1

DarkKaiser, 2010년 5월 5일2023년 9월 6일

1. auto

– 지역변수를 정의 때 명시적으로 타입을 지정하지 않아도 됨
– 컴파일 타임 때 타입을 결정
– 코딩이 간편해지고, 코드 가독성이 좋아짐

포인터, 참조, const에도 사용 가능하다. 포인터는 *를 포함하지 않아도 &Sample로 값을 할당하기 때문에 포인터로 타입이 결정되지만, 참조인 경우에는 &를 넣지 않으면 참조 타입으로 생성되지 않는다.

int Sample = 
Continue Reading

synchronized 키워드와 ReentrantLock 클래스에 대해

DarkKaiser, 2010년 5월 5일2023년 9월 5일

출처 : http://mindwing.kr/103

synchronized 키워드 대신 java.util.concurrent.ReentrantLock 을 쓰면 다음의 잇점들이 생깁니다.

  • lock 을 얻으려는 스레드를 interrupt 시킬 수 있다.
  • lock 을 얻는데 대한 timeout 을 설정할 수 있다.
  • lock 에 2개 이상의 condition 을 설정해서 쓸 수 있다.
  • synchronized 키워드를 위해 JVM 이 사용하는 lock 기능은 하드웨어의 lock 메커니즘과
Continue Reading

wait(), notify(), notifyall()

DarkKaiser, 2010년 5월 5일2023년 9월 5일

wait과 notifyall(notify) 메서드는 동기화 처리를 해서, 한 순간에 하나의 쓰레드만 호출이 가능하도록 한다.

 
wait과 notifyAll(notify)이 서로 다른 두 쓰레드에 의해서 동시에 각각 호출되는 것 조차 허용되지 않아야 함을 뜻하는 것이다. 위의 두 메서드는 동시에 호출되면 문제가 생길 수 있는 민감한 성격의 메서드이다. 따라서 동기화 블럭 또는 도익화 메서드를 이용해서 메서드
Continue Reading
  • Previous
  • 1
  • …
  • 6
  • 7
  • 8
  • …
  • 34
  • Next

최신 글

  • AssertJ 소개testCompile ‘org.assertj:assertj-core:3.6.2’ 2017년 9월 14일
  • 자주 사용되는 Lombok 어노테이션 2017년 9월 14일
  • 유니코드 #3 2017년 9월 14일
  • 유니코드 #2 2017년 9월 14일
  • 유니코드 #1 2017년 9월 14일

최신 댓글

    카테고리

    • 개인 자료 (1)
      • 일기 (1)
    • 주절주절 (7)
    • 프로그래밍 갤러리 (16)
    • 프로그래밍 언어 (186)
      • Java (29)
      • C/C++/VC++ (114)
      • C# (11)
      • Visual Basic (6)
      • 안드로이드 (9)
      • Objective-C (5)
      • JavaScript (4)
      • JSP/Servlet (2)
      • Python (4)
      • 어셈블러 (1)
    • 개발++ (44)
      • Book (11)
        • Joel On Software (10)
      • 프로젝트 관리 (6)
      • Maven (1)
      • 디버깅 (1)
      • DirectX (1)
      • Silverlight (1)
      • RESTful (1)
      • Hacking (1)
      • WDM (4)
      • VoIP (5)
      • 기타 (1)
    • 개발 도구 (15)
      • eclipse (14)
      • Sublime Text (1)
    • 네트워크 (7)
    • 설치 및 배포 (7)
      • InstallShield (2)
      • NSIS (4)
    • 버전 관리 (9)
      • Git (2)
      • CVS (2)
      • Subversion (5)
    • 데이터베이스 (7)
      • Oracle (3)
      • Sybase (2)
      • MS-SQL (2)
    • 단위테스트 (3)
      • JUnit (1)
      • NUnit (2)
    • 버그추적시스템 (2)
      • mantis (2)
    • 운영체제 (7)
      • Windows (5)
      • 리눅스 (2)
    • WAS (3)
      • WebLogic (3)
    • 디자인패턴 (1)
    • 디지털 이미지 프로세싱 (16)

    태그

    Ant application CI Collection COMAdmin CPagerCtrl CSplitterWnd DDR Enumeration FileInputStream FileOutputStream FormView GetLastInputInfo Hashtable IP IwebBrowser2 JSP mantis MRU Network NSIS PNG RDS SDRAM SIP strsafe subversion Trayicon USB UTF8 WTP 공과금처리시스템 닥터왓슨 디코딩 메모리구별법 면접 시스템에러메시지 은행 인코딩 출력 스트림 코드사이닝 탐색기 툴바 파이썬 한글

    메타

    • 로그인
    • 엔트리 피드
    • 댓글 피드
    • WordPress.org
    ©2025 DarkKaiser의 블로그 | WordPress Theme by SuperbThemes