当前位置 - 무료 법률 상담 플랫폼 - 법률 지식 - 델파이 트레이 문제

델파이 트레이 문제

형님, 3부분을 한 문장씩 설명해주시면 이해가 되실 거에요!

1 , Tnotifyicondata 레코드 원본 본문:

type

_NOTIFYICONDATAA = 레코드

cbSize: DWORD는 정의한 NotifyIcon 변수의 크기이며 얻을 수 있습니다. with SizeOf(TNotifyIconData),

p>

Wnd: Wnd는 핸들입니다. 트레이 프로그램이 생성한 메시지가 어떤 양식을 처리하도록 하시겠습니까?

uID: UINT; uID: 트레이 애플릿을 여러 개 생성하려면 어떻게 구별합니까? 이 ID 번호로 구별됩니다.

uFlags: UINT; uFlags는 현재 생성된 트레이 프로그램의 속성을 나타내는 플래그 비트입니다.

NIF_ICON은 현재 설정된 아이콘(즉, hIcon의 값)을 나타냅니다. )가 유효함

NIF_MESSAGE는 현재 설정된 시스템 메시지(즉, uCallBackMessage 값)가 유효함을 나타냅니다.

NIF_TIP는 현재 설정된 프롬프트 표시줄(즉, szTip 값)이 유효함을 나타냅니다. )이 유효합니다.

uCallbackMessage: UINT;uCallBackMessage 이것은 7개 부분 중 가장 중요합니다. 여기에 콜백 메시지를 지정합니다. 즉, 메시지 이름을 정의합니다. 트레이 아이콘을 클릭하거나 마우스 오른쪽 버튼을 클릭하면 uCallBackMessage에 정의된 메시지 이름이 Wnd가 가리키는 양식으로 전송됩니다. 이 메시지를 처리하려면 프로그램의 메시지 출력 기능을 사용하세요. 이러한 방식으로 Windows와 관련된 전체 메시지 집합이 처리됩니다.

hIcon: HICON은 트레이 아이콘의 핸들입니다. 이 핸들을 기반으로 아이콘을 추가, 수정, 삭제할 수 있습니다.

szTip: AnsiChar의 배열 [0..63] szTip은 마우스를 작업 표시줄 트레이의 작은 아이콘에 놓을 때 나타나는 프롬프트 메시지입니다.

end;

2, ShowWindow

는 API 함수입니다. 함수 함수: 이 함수는 지정된 창의 표시 상태를 설정합니다.

매개변수:

nCmdShow: 창이 표시되는 방법을 지정합니다. 보내는 응용 프로그램이 STARTUPINFO 구조를 제공하는 경우 응용 프로그램이 ShowWindow를 처음 호출할 때 이 매개변수가 무시됩니다. 그렇지 않으면 ShowWindow 함수가 처음 호출될 때 값은 WinMain 함수의 nCmdShow 매개변수여야 합니다. 후속 호출에서 이 매개변수는 다음 값 중 하나일 수 있습니다.

SW_FORCEMINIMIZE: WindowNT5.0에서 창을 최소화하면 해당 창을 소유한 스레드가 일시 중단되더라도 최소화됩니다. 다른 스레드에서 창을 최소화하는 경우에만 이 매개변수를 사용하십시오.

SW_HIDE: 창을 숨기고 다른 창을 활성화합니다.

SW_MAXIMIZE: 지정된 창을 최대화합니다.

SW_MINIMIZE: 지정된 창을 최소화하고 Z 순서로 다음 최상위 창을 활성화합니다.

SW_RESTORE: 창을 활성화하고 표시합니다. 창이 최소화되거나 최대화되면 시스템은 창을 원래 크기와 위치로 복원합니다.

애플리케이션은 최소화된 창을 복원할 때 이 플래그를 지정해야 합니다.

SW_SHOW: 창을 활성화하고 원래 위치와 크기로 표시합니다.

SW_SHOWDEFAULT: STARTUPINFO 구조에 지정된 SW_FLAG 플래그에 따라 표시 상태를 설정합니다. STARTUPINFO 구조는 응용 프로그램을 시작하는 프로그램에 의해 CreateProcess 함수에 전달됩니다.

SW_SHOWMAXIMIZED: 창을 활성화하고 최대화합니다.

SW_SHOWMINIMIZED: 창을 활성화하고 최소화합니다.

SW_SHOWMINNOACTIVATE: 창이 최소화되고 활성 창은 활성화된 상태로 유지됩니다.

SW_SHOWNA: 창을 원래 상태로 표시합니다. 활성 창은 활성 상태로 유지됩니다.

SW_SHOWNOACTIVATE: 창을 가장 최근 크기와 상태로 표시합니다. 활성 창은 활성 상태로 유지됩니다.

SW_SHOWNOMAL: 창을 활성화하고 표시합니다. 창이 최소화되거나 최대화되면 시스템은 해당 창을 원래 크기로 복원합니다. 응용 프로그램은 창을 처음 표시할 때 이 플래그를 지정해야 합니다.

반환 값: 창이 이전에 표시되었던 경우 반환 값은 0이 아닙니다. 창이 이전에 숨겨진 경우 반환 값은 0입니다.

3, Shell_NotifyIcon 시스템 트레이 API 함수

Shell_NotifyIcon(dwMessage: DWORD; lpData: PNotifyIconData);

dwMessage: [입력 매개변수]는 수행할 작업을 설명합니다. 수행되었습니다. 해당 작업의 선택 값 ​​​​은 다음과 같습니다:

NIM_ADD 트레이 영역에 아이콘 추가

NIM_DELETE 트레이 영역에서 아이콘 삭제

NIM_MODIFY 아이콘 수정

NIM_SETFOCUS 트레이 영역으로 포커스를 되돌립니다. 이 메시지는 일반적으로 트레이 아이콘이 사용자 인터페이스에서 작업을 완료한 후에 전송됩니다. 예를 들어 트레이 아이콘에 바로 가기 메뉴가 표시되고 사용자가 ESC 키를 눌러 작업을 수행하는 경우 NIM_SETFOCUS를 사용하여 트레이 영역에 포커스를 유지합니다. 이 항목은 시스템 셸 및 공용 제어 DLL(Shlwapi.dll 및 Comctl32.dll) 버전 5.0 이상에서만 사용할 수 있습니다.

NIM_SETVERSION은 특정 버전의 시스템 셸 및 공용 제어 DLL 사용을 지정합니다. 기본값은 0이며 이는 Win95 모드가 사용됨을 의미합니다. 이 항목은 시스템 셸 및 공용 제어 DLL 버전 5.0 이상에서만 사용할 수 있습니다.

lpdata: [입력 매개변수] NOTIFYICONDATA 구조에 대한 포인터

반환 값: 함수는 성공하면 TRUE를 반환하고 그렇지 않으면 FALSE를 반환합니다.

위 콜백 메시지의 레코드 본문 설명이 설명되었습니다.

Handle: HANDLE 중국어로 번역하면 처음에는 무슨 뜻인지 전혀 몰랐습니다. 처음 학습을 시작했을 때 나는 항상 HANDLE이 어떤 객체를 나타내는지 알고 싶었습니다. 이제는 그것을 특정 객체로 이해하지 못하고 특정 객체에 접근하기 위한 입구로 이해합니다. 사실 대부분의 경우 HANDLE은 정수입니다. 인덱스(객체가 조작되고 있음을 표시) 시스템의 특정 테이블에서의 위치는 배열의 첨자와 같습니다. Windows 시스템의 핵심에는 주로 여러 개의 큰 테이블이 있습니다. 운영 체제가 액세스할 때 쿼리할 이 테이블의 대상 위치입니다. 때로는 실제로 개체에 대한 포인터이고 때로는 추가 보조 정보를 전달하는 경우도 있습니다.