죄송합니다. "고급 사용자 지정 속성"이외의 이름을 지정하는 방법을 모르겠습니다. 내가 아는 한, 나는 먼저 그것을 찾을 것이다.VB6 usercontrols에서 고급 사용자 지정 속성을 구현하는 방법은 무엇입니까?
제 3 자 컨트롤을 사용하여 레거시 코드를 처리하고 있습니다.
VB6에서 해당 컨트롤을 폼으로 끌면 "속성"창에서 컨트롤에서 지원하는 모든 속성을 볼 수 있습니다. MarginLeft, MarginRight 등.
아무 문제 없습니다.
"속성"창에서 가장 위에있는 속성은 일반적으로 컨트롤의 이름 인 "(이름)"필드입니다.
하지만 제 3의 파티 컨트롤에는 "(About)"및 "(Custom)"인 "(Name)"위에 또 다른 두 개의 "가짜 속성"이 있습니다.
"(About)"을 클릭하면 회사 정보를 보여주는 대화 상자가 나타납니다. "(사용자 지정)"을 클릭하면 더 많은 속성을 보여주는 다른 대화 상자가 나타납니다. 이 대화 상자는 VB6에 표시됩니다.
"(사용자 지정)"대화 상자에서 일반 속성을 수정할 수 있습니다 (속성 창에서 직접 수정하는 것과 동일). 더 많은 일을 할 수 있습니다. 일반 속성이 아닌 다른 속성이 있습니다 (적어도 속성 창에서는 아무 것도 찾을 수 없습니다).
이 양식을 저장하면 일반 속성의 모든 내용이 .FRM 파일에 저장됩니다. 예를 들어,
Control1.MarginLeft = 5
Control1.Text = "I am a control"
그러나, (정의) 대화 상자에서 편집 한 "고급 속성"을 위해, 그들은 .FRM에 저장되지 않습니다, 그들은 바이너리 형식으로 .FRX에 저장됩니다.
예를 들어, (사용자 정의) 대화 상자에서이 캡션의 텍스트, 글꼴, 무게, 표시 스타일 및 캡션의 많은 유사한 속성을 포함하는 "캡션"속성을 편집 할 수 있습니다. .FRM에서는
Control1.Caption = "frmForm1.frx":013F
모든 텍스트와 자막의 관련 속성은 .FRX 파일의 바이너리 형식으로 저장됩니다, 같은 것입니다.
일반 속성 창에는 Caption 속성이 없으므로 "(사용자 지정)"대화 상자에서만 편집 할 수 있습니다. 다음과 같이
내 질문
- 어떻게 VB6에 표시 할 수있는 등 (정의) 대화 상자를 구현하는 것입니다?
VB6의 속성 창에 (About) 및 (Custom)을 표시하는 방법은 무엇입니까?
VB6에 속성 창에 캡션 속성이 표시되지 않도록하려면 어떻게해야합니까? 코드에서 직접
Control1.Caption = xxxx.frx:offset
으로 사용할 수 있습니까?VB6에서이 Caption 속성이 .FRX에 저장되어야하며 VB6에 데이터 크기를 알려줌으로써 VB6에서 자동으로 오프셋을 관리 할 수 있도록 지정하는 방법은 무엇입니까?
(사용자 지정) 대화 상자에 올바른 값이 표시되도록 VB6을 통해 데이터를 자동으로로드하는 방법은 무엇입니까?
필자가 아는 한 .frx 형식은 비밀이며 이진 (이미지), 목록 및 텍스트와 같은 표준 컨트롤에 대해 다양한 .frx 파일로 파기됩니다. 나는 3 rd 파티 컨트롤이 .frx를 어떻게 활용할 수 있는지 궁금하다. 3 rd 파티 컨트롤이 자신의 .frx 포맷을 정의해야 하는가? 예를 들면 포함, 얼마나 많은 길이 앞에 바이트 (또는 전혀 길이 필드는 고정 길이의) 방법을 Style1에 대한 바이트 방법 등 style2에 대한 바이트,
고마워요. 이 "고급 속성"에 대해 어떤 적절한 이름을 알고 있다면 이름을 말해 주면 나 자신을 검색 할 수 있습니다.
고급 속성을 검색하려고했지만 실제로 알고 싶은 항목이 없습니다.
당신이 찾고있는 것이 [속성 페이지]라고 생각합니다. (https://msdn.microsoft.com/en-us/library/aa262311(v=60) .aspx) –
안녕하세요. 그게 내가 필요한거야. 속성 페이지를 검사하고 모든 것이 잘 작동한다는 것을 제외하고는 이미지/아이콘 속성처럼 값이 "FRX"파일에 저장되는 속성을 정의하는 방법을 알지 못합니다. – user534498
내가 틀릴 수도 있지만 ASCII 값을 .frx 파일에 쓰고 .frx 파일의 이진 값을 내부적으로 VB 자체에서 제어한다고 생각하지만 "속성 가방"이라는 구가 염두에두고 도움이 될 것입니다. active-x 컨트롤을 직접 작성한 경험이 없으므로 여기 메모리에만 의존하고 있습니다. –