Windows 3.0용 Visual Basic(VB라고도 함)은 현재 WINDOWS 응용 프로그램 소프트웨어를 개발하는 데 가장 효과적인 도구 중 하나입니다. 이는 BAIC 언어와 새로운 시각적 디자인 도구를 포괄적으로 사용하며 강력할 뿐만 아니라 배우기도 쉽습니다. 둘째, VB에는 WINDOWS 그래픽 환경의 특성을 최대한 활용하고 개발자가 강력한 응용 프로그램을 신속하게 구축할 수 있는 이벤트 중심 프로그래밍 메커니즘이 있습니다.
그렇다면 VB 응용 프로그램 소프트웨어를 개발할 때 VB의 기능을 완전히 확장하려면 어떻게 해야 할까요? 이를 위해서는 다양한 수준에서 VB의 가장 강력하고 독특한 부분을 잘 활용해야 합니다.
●함수 레이어에서 동적 링크 라이브러리를 호출합니다.
●제어 레이어에서 VBX를 사용합니다. ●애플리케이션 계층에서 다른 애플리케이션을 실행합니다.
1. 기능 계층에서 기능 링크 라이브러리(DLL)를 호출합니다.
WINDOWS 운영 체제는 실제로 많은 강력한 동적 링크 라이브러리(DLL)로 구성되어 있습니다. VB는 일부 작업이 자체 언어의 기능을 벗어나는 것을 고려하여 운영 체제에서 이러한 DLL 서브루틴을 직접 호출하는 기능을 제공합니다. 예: 일반적인 상황에서 창의 제어 메뉴는 복원, 이동, 크기 조정, 최소화, 최대화, 닫기 및 전환의 7가지 기능을 제공합니다. 실제 응용에서는 창이 설계된 크기대로 표시되기를 바라며, 사용자가 창 크기를 임의로 변경하거나 다른 창으로 전환하는 것이 허용되지 않습니다. 이를 위해서는 제어 메뉴를 삭제해야 합니다. "이동" 및 "닫기" 옵션을 제외한 모든 제어 메뉴 항목. 이 작업을 수행하려면 먼저 양식의 MaxButton 속성과 MinButton 속성을 False로 설정하면 됩니다. 이렇게 하면 양식이 최소화 및 최대화되지 않으며 양식을 복원할 수 없습니다. 그런 다음 양식의 Bordersstyle 속성을 양식의 크기 변경을 허용하지 않는 1-FixedSingle 또는 3-FixedDouble로 설정합니다. 그러나 VB 자체에서는 "스위치" 옵션과 두 개의 구분선을 삭제할 수 없습니다. 다행히도 WINDOWSDLL을 호출하면 이 작업을 쉽게 수행할 수 있습니다.
일반적으로 WINDOWSDLL을 사용하려면 먼저 사용할 DLL 서브루틴을 지정해야 합니다. 두 위치, 즉 전역 모듈 또는 양식 레이어의 설명 부분에서 사용되는 DLL 서브루틴을 지정할 수 있습니다. 형식은 다음과 같습니다.
DeclareSub 서브루틴 이름 Lib "라이브러리 이름" [Alias "alias"] [([parameter])]
DeclareFunction 서브루틴 이름 Lib "라이브러리 이름" [별칭 "별칭"] [([매개변수])] [AS 데이터 유형]
첫 번째 형식은 프로시저에 반환 값이 없음을 나타내고 두 번째 형식은 프로시저가 표현식에 사용할 수 있는 값을 반환함을 나타냅니다. 라이브러리 이름이 WINDOWS 운영 환경(시스템 디렉터리)의 라이브러리인 경우 "USER .EXE", "KERNEL.EXE" 또는 "GDI.EXE" 등과 같은 이름은 라이브러리 이름으로 사용됩니다. 다른 소스의 DLL을 사용하는 경우 경로가 포함된 파일 이름을 사용하십시오(예: "C:WINDOWSBRUSH.DLL"). 별명(Alias)은 다른 이름을 사용하여 서브프로그램을 호출할 수 있도록 허용합니다. 이는 외부 서브프로그램의 이름이 VB 예약어와 동일한 경우에 특히 유용합니다. 매개변수는 전달될 매개변수 값 및 데이터 유형을 나타냅니다. 하위 프로그램은 정수, Long, Single, Double, 통화 또는 문자열일 수 있는 함수 반환 값의 데이터 유형을 나타냅니다. 다음은 사용되는 DLL 서브루틴에 대한 설명입니다.
DeclareFunctionGetSystemMenu%Lib"사용자"(ByValhWnd%,ByValbRevert%)
선언함수RemoveMenu%Lib"사용자"(ByValhMenu%, ByValnPosition%, ByValwFlags%)
DLL 서브루틴을 설명한 후 DLL 서브루틴을 실행하는 방법은 VB의 일반 프로시저(함수)를 실행하는 것과 동일합니다. 다음으로, 위의 예에서 언급된 기능을 완료하기 위해 Remove-Items-From-System이라는 프로세스를 작성합니다. 이 프로세스에서는 위에서 설명한 두 개의 DLL 서브루틴이 호출됩니다.
하위 제거 항목-시스템 메뉴(A-FormAsForm)
'양식 시스템 메뉴 문장 받기 Bing
HSysMenu=GetSystemMenu(A-Form.hWnd, 0)
'이동'과 '닫기'를 제외한 모든 메뉴 항목을 삭제합니다. 삭제 시 마지막 메뉴 항목부터 시작해야 합니다.
R=RemoveMenu(HSysMenu,8,MF-BYPOSITION)'삭제 스위치
R=RemoveMenu(HSysMenu,7,MF-BYPOSITION)'첫 번째 구분선 삭제
R=RemoveMenu(HSysMenu,5,MF-BYPOSITION)'두 번째 구분선 제거
EndSub
이 프로세스를 통해 모든 양식의 Form-Load 이벤트에 다음 코드 줄을 추가하면 "이동" 및 "닫기" 옵션을 제외한 양식의 모든 제어 메뉴 항목을 삭제할 수 있습니다.
SysmenuMe에서 항목 제거
2. 제어 계층에서 VBX 사용
VB의 강력한 기능 중 두 번째 부분은 VBX의 사용, 즉 개방성과 무제한 확장 특성입니다. VB 도구 상자(ToolBox)는 응용 프로그램 소프트웨어를 설계하는 데 필요한 도구를 포함하기 위해 최선을 다했지만 VB의 기능을 지속적으로 확장하기 위해 VB는 타사 개발자가 필요한 소프트웨어를 설계할 수 있도록 개발 도구 세트(CustomControlDevelopmentKit)를 제공합니다. 통제 수단. 제어 파일(파일 확장자는 ".VBX")을 디자인한 후 메뉴 "파일" 항목에서 "파일 추가..." 명령을 선택할 수 있습니다. 결과적으로 "파일 추가" 대화 상자가 화면에 나타납니다. 필요한 VBX를 두 번 클릭합니다. 파일 이름을 사용하여 VBX를 VB에 추가하면 VB는 이러한 외부 컨트롤을 원래 도구 상자에 추가하고 다른 컨트롤과 병합합니다. VB가 계속 개발할 수 있는 것은 바로 이 기술 때문이며 VB를 사용한 프로그래밍은 더 편리하고 빠르며 효과적입니다. 이는 VB를 다른 프로그램 개발 환경과 구별하는 주요 기능 중 하나입니다. VB 출시 이후 타사 소프트웨어 회사에서는 WINDOWS 응용 프로그램을 개발할 때 매우 유용한 몇 가지 VBX를 디자인했습니다.
●3차원 제어Threed.vbx
명령 버튼, 확인란, 라디오 버튼, 프레임, 푸시다운 버튼 및 패널을 포함한 6개의 3차원 컨트롤을 제공합니다. 이러한 컨트롤을 사용하면 양식을 더욱 3차원적으로 만들 수 있습니다.
●그래픽 제어 Graph.vbx
그래픽 컨트롤에 데이터를 보낸 후 그래픽 컨트롤은 2차원 또는 3차원 원형 차트, 히스토그램, 추세 차트를 그릴 수 있으며 인쇄하거나 클립보드에 복사할 수 있습니다.
●통신 제어 Mscomm.vbx
직렬 통신 기능을 제공하며 직렬 포트 간에 데이터를 전송하고 수신하는 데 사용할 수 있습니다.
●데이터 그리드 제어 Truegrid.vbx
일반 데이터 표시 테이블로 사용하거나 데이터베이스와 그리드를 연결할 수 있으며 데이터베이스 브라우저 또는 데이터 표시를 만드는 데 이상적인 도구입니다.
2. 애플리케이션 계층에서 다른 애플리케이션 실행
복잡한 대규모 소프트웨어를 컴파일할 때 편집 프로그램과 같이 상대적으로 독립적이고 완전한 기능을 갖춘 일부 특수 프로그램이 필요한 경우가 많으며 이러한 프로그램은 일반적으로 보편적이고 대중적이며 실제로 테스트되었습니다. 개발자가 이러한 프로그램을 다시 작성하면 프로그램 작업량과 디버깅 프로세스가 크게 늘어날 뿐만 아니라 이러한 일반 프로그램의 기능을 맞추기도 어려워집니다. 분명히 이러한 프로그램을 직접 호출할 수 있다면 이상적일 것입니다. 다행스럽게도 VB는 다른 응용 프로그램을 호출하는 데 사용할 수 있는 셸 기능을 제공하므로 VB의 일부 기능은 다른 응용 프로그램에서 직접 완료할 수 있으므로 프로그래밍 작업이 크게 줄어듭니다.
형식은 Shell(명령어 문자열[, 창 유형])입니다.
명령 문자열은 실행될 응용 프로그램의 이름입니다. 실행 파일의 확장자는 ".COM", ".EXE", ".BAT", ".PIF"로 제한됩니다. 기본 확장자는 .EXE 파일입니다. 창 유형은 프로그램이 실행될 때 표시 창 스타일에 해당하는 정수 값입니다. 선택 사항은 다음과 같습니다.
창 유형 값
창 유형 1, 5, 9
포인터 2가 있는 일반 창
포인터가 있는 최소 창(기본값) 3
최대 창, 포인터 4, 8
일반 창, 포인터 없음 6, 7
최소 창, 포인터 없음
Shell 함수가 응용 프로그램을 성공적으로 호출하면 실행 중인 프로그램의 고유 ID를 나타내는 작업 ID(TaskID)가 반환됩니다.
[예]
X=쉘("C:WINDOWS/NOTEPAD.EXE", 1)
이 명령문은 WINDOWS 첨부 파일의 NOTEPAD.EXE를 편집 프로그램으로 호출하여 X에 ID 값을 반환합니다. ->