전체글
14
상태 별로 이미지를 입력받아 상태에 따라 이미지를 표시하는 컨트롤입니다. 아래 4개의 타입은 ButtonMode라고 하며 각각 순으로 이미지를 입력하면 됩니다. 캡션지정하지 않고 이미지만으로 사용할 수 있겠죠? 속성 ButtonMode - 위의 상수값을 가지며 직접 지정이 가능합니다. 기본적으로 Enabled가 False이면 무조건 Deactive Mode속성을 갖게됩니다. Picture - 만든 이미지를 삽입합니다. Enabled - Active Mode와 Deactive Mode 변경 (없어도 될듯 하네욤 ㅡㅡ;) CheckOption - Active Mode와 Mousedown Mode를 사용하여 Checkd사용이 가능해집니다. 이것을 True로 하면 MouseDown 이벤트 발생 시의 동작이 Skip됩니다. Checked - 위 옵션이 활성화 될 경우 해당 Value값을 반환합니다. ButtonWidthSize - 버튼의 가로 사이즈를 반환 합니다. Picture에 이미지를 삽입하면 기본적으로 가로 1/4하여 계산된 값을 반환합니다. ButtonHeightSize - 버튼의 세로 사이즈를 반환합니다. Caption - 버튼의 Caption을 지정합니다. 위 사이즈를 계산하여 중간위치에 위치합니다. ForeColor - Caption의 전경색을 지정합니다. Font - Caption의 폰트를 지정합니다. Visibled - 버튼의 Visibled속성을 지정합니다. BackColor - 배경색을 지정합니다. ToolTip - 버튼의 Tooltip을 지정합니다. 이벤트 Click() - 클릭이벤트죠. MouseOut() - 버튼영역에서 마우스가 나가면 발생합니다. MouseMove() - 버튼영역에서 마우스가 들어와서 나갈때까지 발생하죠.
말 그대로 쉐도우라벨입니다. 구현방법은 라벨 두개를 사용해서 포토샵의 그림자 효과를 주는 방식을 이용하였습니다. 속성(Property) AutoSize: True로 할 경우 캡션의 한 줄 라인 기준으로 자동크기를 계산하여 크기를 조정합니다. False로 할 경우 두줄 이상 라인구성이 가능합니다. Alignment: 정렬을 설정합니다. (속성에 문제있음) Caption: 라벨의 Caption을 설정합니다. Font: 라벨의 폰트를 설정합니다. Forecolor1: 라벨의 첫번째 전경색을 지정합니다. Forecolor2: 라벨의 두번째 전경색을 지정합니다. Backcolor: 사용자콘트롤의 투명지정을 해도 라벨의 투명처리가 미흡하여 투명처리는 구현되지 않았습니다. 대신 라벨이 위치할 배경색을 지정하도록 하였습니다.
핸들값이 이용해서 SendMessage를 이용하고 Hooking을 이용한 전형적인 윈도우메시지 통신 방법을 통해 프로세스간 통신을 구현한 예제입니다. 우선 VB끼리는 성공했네요.. 제가 원하는 것은 VB VC++간 테스트성공 지금 VC++로 구현중입니다. 각설하고 테스트 방법은 두개 띄어놓고 "이거 핸들" 값에 나온 핸들값을 서로의 폼에 있는 "타겟 핸들" 값에 복사하고 전달메시지에 암거나 넣어서 "Send"하면 채팅하는 것 마냥 아래 리스트 박스에 뜨게 되는 구조입니다. 지금까지 소켓통신을 통해서 Local 프로세스 통신을 했었는데 이것을 이용해서 하게 되면 시간적인 Loss가 확 줄게되지 않을까 생각해봅니다.
다운로드: DamuriLocalLanControl_dcszuq.zip 사용법은 아래와 같습니다. 그대로 OCX를 프로젝트에 올려서 쓰셔도 되고 직접 코드에서 빼서 쓰셔도 되겠죠. 하하 Function들의 리턴값은 성공하면 0, 실패하면 -1이 반환됩니다. 지정 네트워크 드라이브를 설정 지정 네트워크 드라이브를 제거 X: 라는 드라이브가 없다면 리턴값으로 -1이 리턴 됩니다. 모든 네트워크 드라이브를 제거 모든 네트워크 드라이브 반환
로그파일 저장 그리고 로그를 표시하기 위한 코딩.... 프로그램 개발 할 때마다 만들어야 되는 실정... 질려 죽겠어서 클래스로 만들었습니다. 기본 설정 글로벌이나 지역변수로 클래스 변수를 선언합니다. 이어서 기본 세팅 들어갑니다. 위의 상수는 어느레벨을 저장할지에 대한 상수이니 로그에 대한 레벨을 설정할 수 있는 상수도 있어야겠죠. 에러 등급은 개발자 본인이 정하면 됩니다. 로그는 개발자를 위한 것이니까요. 이어서 기본설정 다시 들어갑니다. 다음은 리스트 박스 세팅입니다. 폼 로딩 시 Set해야겠죠. 기본적인 사용방법 설정은 다 했다고 생각하고 들어가겠습니다. 이렇게만 해서 쓰게 되면 기본적인 Optional설정이 되어 사용할 수 있습니다. 완존 기본적인 일반 메시지 추가 시 이렇게 씁니다. 이게 풀로 파라미터를 쓴 경우입니다. 다음은 파라미터 설명 드릴께요. [1] str = 로그 메시지죠. 가장 중요하죠.. 꼭 넣어야 합니다. [2] bLstAdd = 리스트박스에 넣을 건지에 대한 여부입니다. 만약 리스트박스 세팅을 하지 않았다면 SKIP합니다. [3] ErrLev = 로그에 대한 에러등급입니다. 기본적으로 COMMON_MSG로 되어 있습니다. [4] ErrCD = 에러코드를 따로 지정할 수 있습니다. 이것은 에러를 사전에 분류가 되어야 합니다. 가령 네트워크, 디비, 사용자오류 이런식으로 분류를 하여 코드를 따서 관리를 하게 되면 로그관리가 비교적 쉬워집니다. [5] sPos = 자바나 웹처럼 몇 번째 줄에서 오류 났는지는 모르지만 인위적으로 어떤 함수에서 에러가 났는지 표현하기 위해서 추가하였습니다. [6] bTimeStr = 로그표시 할때 시간정보를 넣게 되는데 이걸 False로 하게 되면 아무것도 넣지 않고 표시 또는 파일저장합니다. 전체 클래스 소스 아래는 claLogMgr.cls 파일 전문 입니다.