리스트에서 CustomDraw로 아이템을 그릴때

마우스를 오버하면, 첫번째 컬럼 이외의 텍스트들이 사라지는 경우가 있었다.

아이템을 삽입할때 아래 코드처럼 추가하고 했다. 

마우스 오버를 하면,  CustomDraw 를 수행하지 않았고, 클릭을 해야만 수행하는 것이었다.

해결방법은 코드의 빨간색 부분이다.

LV_ITEM lvItem;
 lvItem.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_PARAM;
 if(nPos >= 0){
  lvItem.iItem = nPos;
 }else{
  nCnt = GetItemCount();
  lvItem.iItem = nCnt;
 }
 lvItem.iSubItem = 0;
 lvItem.pszText = L"";//아이템 텍스트를 설정하지 말아야 한다.
 lvItem.lParam = (LPARAM)pData;
 int nIndex = InsertItem(&lvItem);

'개발 > Dev Others' 카테고리의 다른 글

Github commit  (0) 2020.01.03
MySQL Config  (0) 2017.07.04
파이어폭스 한글입력 오류  (0) 2016.09.13
PHP for IIS 설치  (2) 2009.11.22
Visual Studio 2003에서 manifest 추가하기  (0) 2009.05.28
Posted by Lumasca
,
vs2003은 manifest 가 포함되어 있지 않다.
manifest 파일을 생성한다.
샘플내용은 아래와 같다. 빨간색 글자는 exe 파일명을 적어주면 되겠다.

-------------------------------------------------------------------------------------

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 
<assemblyIdentity 
    version="1.0.0.0" 
    processorArchitecture="X86" 
    name="Microsoft.Windows.App"
    type="win32" 
/>

  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">

    <security>

      <requestedPrivileges>

        <requestedExecutionLevel level="requireAdministrator" uiAccess="false">

        </requestedExecutionLevel>

      </requestedPrivileges>

    </security>

  </trustInfo>

  <description>여기에 응용 프로그램 설명을 추가합니다.</description> 
<dependency> 
    <dependentAssembly> 
        <assemblyIdentity 
            type="win32" 
            name="Microsoft.Windows.Common-Controls" 
            version="6.0.0.0" 
            processorArchitecture="X86" 
            publicKeyToken="6595b64144ccf1df" 
            language="*" 
        /> 
    </dependentAssembly> 
</dependency> 
</assembly>
-------------------------------------------------------------------------------------

프로젝트 속성 -> 빌드 이벤트 -> 빌드 후 이벤트(Post Build Event) 에 아래 문장을 참고하여 빌드 문자열을 작성한다.
mt.exe 라는 툴을 사용하는데. 옵션이 무진장 많다. Output 디렉터리에 툴과 manifest 파일을 위치시킨 경우이다.

$(SolutionDir)\bin\mt.exe -manifest $(SolutionDir)\bin\App.exe.intermediate.manifest -outputresource:$(SolutionDir)\bin\App.exe;#1

제대로 동작하지 않은 경우, 에러가 발생한다.
비스타에서 아이콘에 방패모양이 표시되면 성공한 것이다.

'개발 > Dev Others' 카테고리의 다른 글

Github commit  (0) 2020.01.03
MySQL Config  (0) 2017.07.04
파이어폭스 한글입력 오류  (0) 2016.09.13
PHP for IIS 설치  (2) 2009.11.22
ListCtrl CustomDraw 할때 텍스트가 사라지면,  (0) 2009.06.10
Posted by Lumasca
,
설치해야할 항목들이다.

1. JDK (http://java.sun.com/javase/downloads/index.jsp)
  64비트 OS라도 x86 용으로 설치해야한다. 

  설치라기 보단 특정폴더에 압축을 푼다.

SDK 메뉴로 이동해서 최신버전을 다운받고 압축을 풀도록 한다.
이클립스를 실행하고, Window->Preference 메뉴를 클릭, Androide 탭을 선택한다.
Browse를 클릭하고 SDK가 설치된 폴더(포함)를 선택하고 Apply 를 클릭한다.

5. ADT
이클립스를 실행하고, Help -> SoftUpdate 메뉴를 선택한다.
Add Site.. 버튼을 클릭하고, http://dl-ssl.google.com/android/eclipse/ 을 붙여넣고 OK를 누른다.
항목에 해당 URL이 생기고, 탐색을 하면 ADT 플러그인을 선택할 수 있다.
나머지는 선택하고 업데이트...


'개발 > Android' 카테고리의 다른 글

Android Animation scale  (0) 2020.05.08
Android Animation translate  (0) 2020.05.08
google service 빌드 오류  (0) 2020.05.04
오류: Cannot inline bytecode built with JVM target 1.8 ..  (0) 2020.01.07
Android Studio Configuration이 없을때..  (0) 2020.01.04
Posted by Lumasca
,