차라리 사은품을 주지 말라고 하고 싶다.
아오...
우유 등 1+1/1+2 상품도 마찬가지.
Friday, February 28, 2014
Tuesday, February 25, 2014
Saturday, February 8, 2014
ListView 아이템을 Drag and Drop으로 순서 바꾸기 Reorder ListViewItem
놀랍게도 ListView 아이템은 드래그앤드랍이 기본으로는 안 되는데, 더 놀라운 것은 이것이 버그라는 것이다. (오작동뿐 아니라 코드를 빠뜨려서 작동 안 하는 것도 버그이긴 하지...) 1)
http://support.microsoft.com/kb/822483/en-us
위 링크에서 제공하는 코드를 적당히 붙이는 것만으로도 drag & drop으로 순서를 변경하는 작업이 잘 된다.
단, ListViewItem.Name은 보존되지 않는다. 이러면 ListView.Items.RemoveByKey(string=Name)를 할 수 없게 된다.
이는 아마 ListView.Items 내에서의 순서 이동은, 실제로는 ListViewItem 객체의 복사(Clone()이 호출된다) 후 원본 ListViewItem 객체 삭제이므로, container 내에 같은 Name의 객체를 두 개 이상 가질 수 없기 때문일 것이다.
그래서 다음과 같이 Name을 재지정해야 한다.
void listView1_DragDrop(object sender, DragEventArgs e)
{
//(전략)
ListViewItem insertItem = (ListViewItem)dragItem.Clone();
listView1.Items.Insert(itemIndex, insertItem);
listView1.Items.Remove(dragItem);
//dragItem을 Remove한 뒤 다시 설정해 줌:
insertItem.Name = dragItem.Name;
}
물론 처음부터 Name을 쓰지 않고 있었다면 해 주지 않아도 된다.
참고로, 위 코드를 ListView에 적용하기 위해 핸들러를 만들어야 하는 이벤트는 ItemDrag, DragEnter, DragDrop의 3개이다.
IDE 디자이너의 '속성' 창에서 찾을 수 있긴 한데,
DragDrop, DragEnter는 "끌어서 놓기" 분류에,
ItemDrag는 "작업" 분류에 들어가 있어 찾기가 매우 어렵다.
그냥 코드로 치는 게 (적절히 tab하면 핸들러도 만들어 주니까) 편하다.
-----------------------
1) 의도된 사항(design)이라고 답변한 것이다.
http://support.microsoft.com/kb/822483/en-us
위 링크에서 제공하는 코드를 적당히 붙이는 것만으로도 drag & drop으로 순서를 변경하는 작업이 잘 된다.
단, ListViewItem.Name은 보존되지 않는다. 이러면 ListView.Items.RemoveByKey(string=Name)를 할 수 없게 된다.
이는 아마 ListView.Items 내에서의 순서 이동은, 실제로는 ListViewItem 객체의 복사(Clone()이 호출된다) 후 원본 ListViewItem 객체 삭제이므로, container 내에 같은 Name의 객체를 두 개 이상 가질 수 없기 때문일 것이다.
그래서 다음과 같이 Name을 재지정해야 한다.
void listView1_DragDrop(object sender, DragEventArgs e)
{
//(전략)
ListViewItem insertItem = (ListViewItem)dragItem.Clone();
listView1.Items.Insert(itemIndex, insertItem);
listView1.Items.Remove(dragItem);
//dragItem을 Remove한 뒤 다시 설정해 줌:
insertItem.Name = dragItem.Name;
}
물론 처음부터 Name을 쓰지 않고 있었다면 해 주지 않아도 된다.
참고로, 위 코드를 ListView에 적용하기 위해 핸들러를 만들어야 하는 이벤트는 ItemDrag, DragEnter, DragDrop의 3개이다.
IDE 디자이너의 '속성' 창에서 찾을 수 있긴 한데,
DragDrop, DragEnter는 "끌어서 놓기" 분류에,
ItemDrag는 "작업" 분류에 들어가 있어 찾기가 매우 어렵다.
그냥 코드로 치는 게 (적절히 tab하면 핸들러도 만들어 주니까) 편하다.
-----------------------
1) 의도된 사항(design)이라고 답변한 것이다.
Sunday, February 2, 2014
Age of Empires: Rise of Rome 고해상도로 플레이하기
Voobly라는 데를 발견했다!
설치하고, 가입하고 적당한 로비에 들어가서 방을 만든 후 플레이하면 된다.
http://www.voobly.com/games/view/Age-of-Empires
여기는 Age of Empires 로비이다.
기본적으로 멀티플레이 모드가 실행되지만
싱글 플레이도 가능하다.
http://www.voobly.com/pages/view/310
따라서 캠페인도 고해상도로 플레이 가능.
Rise of Rome 로비는 따로 있으니 주의. Rise of Rome으로 해야 EMPIRESX.EXE가 실행된다.
설치하고, 가입하고 적당한 로비에 들어가서 방을 만든 후 플레이하면 된다.
http://www.voobly.com/games/view/Age-of-Empires
여기는 Age of Empires 로비이다.
기본적으로 멀티플레이 모드가 실행되지만
싱글 플레이도 가능하다.
http://www.voobly.com/pages/view/310
따라서 캠페인도 고해상도로 플레이 가능.
Rise of Rome 로비는 따로 있으니 주의. Rise of Rome으로 해야 EMPIRESX.EXE가 실행된다.
Subscribe to:
Posts (Atom)
"Gossip Girl" star Michelle Trachtenberg dies at 39
미셸 트랙튼버그 하우스에서 심장 이식 받았던 환자로 나왔는데 현실에서는 간이식을 받았었구나 가십걸이나 버피더뱀파이어슬레이어 이제 정주행해 볼까... 블로그도 다시 살려 볼까 훠훠

-
텍스트박스에서 엔터를 치면 자동으로 입력되게 하려고 keyup 이벤트 핸들러를 등록했다. 잘 동작하는 듯했는데 alert창을 닫아도 닫아도 계속 열리는 것이다. 크롬이어서 다행이지 IE였으면 무한히 열렸을 거야...스페이스바로 눌러보길 잘했...
-
MathJax è Word MS Word 2007부터는 MathML을 문서에 바로 붙여넣을 수 있다. 이 블로그의 거의 대부분의 수식은 MathJax로 작성되어 있는데, 오른쪽 버튼 클릭하고 메뉴에서 MathML 또는 TeX 형식으로 ex...
-
진짜 되는 건 아니고 흉내낼 수는 있다. 새 창을 누르면 아무 것도 안 변한 것 같지만 PowerPoint 창 제목이 바뀌어 있다: 프레젠테이션1:2에서 :2 부분이 같은 파일을 연 창 여러 개 중 2번째라는 뜻이다('프레...