본문 바로가기
반응형

 Visual Basic 3 

img-skin-thumnail [VB6] 콤보박스(ComboBox) 길이 제한 해제 및 조절하기 콤보 박스(ComboBox) 길이 제한 해제 및 조절하기 포스팅 개요 VB6에서의 콤보 박스는 정말 애증이 필요한 컨트롤입니다. 많이 사용하면서도 기능은 빈약하고 기본 컨트롤이면서 다른 컨트롤에 맞춰 배치하기가 정말 어렵습니다. 오늘 포스팅에서는 이 콤보 박스의 장단점과 드롭다운 상태에서 아이템 리스트 길이 제한, 표기 건수 제한을 모두 해제하는 함수를 소개해드리겠습니다. 콤보 박스의 장점으로는 기본 컨트롤로 별다른 참조가 필요 없어 접근성이 좋고 옵션 변경이 쉬운 편입니다. 콤보 박스의 단점으로는 컨트롤의 크기 변경이나 디자인 변경이 힘들어 깔끔한 배치가 어렵습니다. 아이템을 등록하고 리스트를 펼칠 때 아이템 수가 8개가 넘어가면 스크롤이 강제로 생깁니다. 콤보 박스의 너비(Width)는 자유롭게 수정.. 2023. 1. 6.
img-skin-thumnail [VB6] InputBox의 공백("")과 취소(Cancel) 구분하기 InputBox의 공백("")과 취소(Cancel) 구분하기 포스팅 개요 Inputbox의 MSDN을 확인하면 "[취소] 단추를 누르면 함수는 길이가 0인 문자열("")을 반환"이라는 문구가 존재합니다. 프로그래머가 실제로 공백을 [취소]와 같은 의미로 취급한다면 이는 별 문제가 없습니다. 하지만 빈 문자열을 입력해야 되는 경우라면 결국 [취소]와 [확인]으로 등록한 빈 문자열을 구별해야 됩니다. 실제 테스트를 해보면 Inputbox 함수 사용 시 [취소] 동작에서 vbNullString이 반환되는 것을 알 수 있습니다. 이를 근거로 유니코드 문자열 버퍼의 주소를 반환하는 StrPtr 함수를 이용하여 구별해 보겠습니다. 예제 코드 작성 StrPtr로 vbNullString의 버퍼 주소를 반환하면 0으로 .. 2022. 12. 28.
img-skin-thumnail [VB6] 한글을 2바이트 계산하여 문자열 자르기 (Len, Left, Right, Mid 대체) 한글을 2바이트 계산하여 문자열 자르기 (Len, Left, Right, Mid 대체) 포스팅 개요 VB에서 기본으로 제공하는 내장 함수 중 문자열을 자르는 대표적인 함수 3종(Right, Left, Mid)과 문자열 길이를 측정하는 함수 1종(Len)이 있습니다. 이 함수들의 바이트로 길이를 체크하는 것이 아니라 문자수를 길이로 취급하기에 2바이트로 생성되는 한글조차 1글자로 취급합니다. 이러한 문제 때문에 한글이 들어간 문자열을 DB에 등록하는 경우 입력하고자 하는 내용이 커서 오류가 생기는 경우가 종종 생깁니다. 오늘 포스팅에서는 내장 함수를 대체하는 사용자 함수를 준비해 보았습니다. StrConv 함수를 활용하는 다른 방법도 있으니 필요하신 분은 따로 검색해보셔도 될 거 같습니다. 예제 소스 코드.. 2022. 12. 17.
728x90
반응형