웹에서 사용할 수있는이 질문에 대한 다른 설명을 사용하여 Delphi 10 Lite에서 스크린 세이버를 만들었습니다. 이제 화면 보호기가 제대로 작동하지만 화면 보호기 설정 대화 상자에서 작업 미리보기가 제대로 작동하지 않습니다. 그것을 어떻게 만들 수 있습니까? 이 설명을 읽었습니다 : how to make a screen saver preview in Delphi? 하지만 좀 더 구체적이고, 예를 들어 싶습니다. Windows 7 Ultimate SP1을 사용하고 있습니다. 감사합니다. .델파이에서 스크린 세이버 미리보기를 만듭니다.
답변
엠바 카데로 사이트는 정상적인 실행 (실행), 미리보기, 암호 설정 등을 포함하는 완벽한 기능의 화면 보호기 샘플을 제공합니다. 이 기사를 사용해보십시오 Random Images Screen Saver - a complete screen saver example
, 소스 코드는 here에서 다운로드 할 수 있습니다.
가 여기에 내가 my little scrub screen saver test에 무슨 짓을했는지 (이 광택 수보다 하나 더 작동 방식을 볼 완료) :
WinHandle는/P 스위치 중 전달 된 창 ID입니다. 나는 스크린 세이버가 윈도우 핸들에서 작동하기 위해 스크린 세이버가 정의 된 텍스트를 여러 색상으로 정의 된 텍스트를 그 사이에 정의 된 지연으로 놓았다. 그래서 스크린 세이버 코드 자체를 복제 할 필요가 없었다. SS_Init은 화면 보호기의 일을 초기화하고, SS_Start는 한 걸음 씩, SS_End는 일을 마무리합니다. 여기
if program_state = Preview then // code before indicates /P was passed
begin
{ spindle off messages until window is visible }
while not IsWindowVisible(WinHandle) do
Application.ProcessMessages;
{ initialize and do screen saver draw }
start_time := WinMSSinceStart; // timeGetTime
SS_Init(WinHandle);
while IsWindowVisible(Winhandle) do
begin
if (WinMSSinceStart - Start_Time) >= config_rec.Delay then
begin
SS_Start(WinHandle);
start_time := WinMSSinceStart;
end;
Application.ProcessMessages;
sleep(10);
end;
SS_End(Winhandle);
end;
당신이 전달되는 창 핸들 (이 아니라 모든 일 (SS_Init에)에 그릴 수 TCanvas와 설정 방법 MyCanvas가이 코드에 맞춰 정의 속성이다.
작업이 완료되면{ get window dimensions and set up TCanvas }
GetClientRect(WinHandle, WinRect);
MyCanvas := TCanvas.Create;
MyCanvas.Handle := GetDC(Winhandle);
그런 다음 (이것은 내 모든 SS_End 기능이다). 도와 준다
ReleaseDC(WinHandle, MyCanvas.Handle);
MyCanvas.Free;
희망
고마워요, 제가 살펴보고 다시 올게요. –
- 1. 코코아 스크린 세이버 미리보기
- 2. 스크린 세이버 데스크톱 숨기기
- 3. 스크린 세이버 만들기
- 4. OSX에서 스크린 세이버 모니터링
- 5. Java 스크린 세이버 Mac
- 6. 웹 페이지를 순환하는 스크린 세이버?
- 7. 3D 텍스트 스크린 세이버 만들기
- 8. 스크린 세이버 시작 및 중지
- 9. Windows phone 스크린 세이버? 가능한?
- 10. iOS 스크린 세이버 앱은 어떻게 작동합니까?
- 11. 페이딩 이미지가있는 C++의 스크린 세이버
- 12. 코코아 스크린 세이버 프레임 워크 오류 메시지
- 13. 상점에서 iPhone을 어떻게 스크린 세이버 비디오를 돌리나요?
- 14. win과 mac에서 Flash를 실행하는 스크린 세이버
- 15. xscreensaver 용 PyGTK로 스크린 세이버 만들기
- 16. Google TV 맞춤형 스크린 세이버 설정
- 17. Windows Phone 8.1의 스크린 세이버 앱
- 18. 플랫폼 독립적 인 스크린 세이버 (Qt 포함)
- 19. Mac OS X에서 플로팅 사진 스크린 세이버
- 20. 스크린 세이버 용 디스패치 대기열이있는 이미지를로드하려면 어떻게합니까?
- 21. Delphi에서 화면 보호기 미리보기를 만드는 방법은 무엇입니까?
- 22. Android Volley 이미지가 표시되기 전에 미리보기를 만듭니다.
- 23. Windows 7에서 스크린 세이버 설정이 변경되면 앱이 정지됩니다. System.Threading.Timer 범인?
- 24. 커스텀 프레임 워크가 번들 된 코코아 스크린 세이버 플러그인
- 25. WPF 응용 프로그램을 방해하는 3D 스크린 세이버 (Windows XP)
- 26. Windows 7에서 스크린 세이버 활동 모니터링 오류가 발생했습니다.
- 27. CMS를 통해 업데이트 할 수있는 스크린 세이버 생성에 대한 조언
- 28. XNA 스크린 세이버 설정을 저장하는 좋은 방법은 무엇입니까?
- 29. OSX, Windows, Linux 용 HTML5 스크린 세이버; 가능한가?
- 30. 프로그래밍 방식으로 스크린 세이버 선택 대화 상자를 여는 방법은 없습니까?
방법 화면 보호기가 정확히 구현 되었습니까? – OnTheFly
다른 질문에 대한 지침이 명확하지 않은 이유는 무엇입니까? 'HWND'를 입력으로 받아들이려면'/ p' 명령 행 인자를 구현해야합니다. 제공된다면 스크린 세이버의 UI를위한 부모 윈도우로'HWND'를 사용하여 스크린 세이버를 정상적으로 렌더링 할 수 있습니다. 그렇지 않으면 부모 윈도우로 자신 만의 전체 화면'HWND'를 만듭니다. –
Delphi 10 Lite와 같은 것은 없습니다. 델파이의 어떤 버전을 사용하고 계십니까? –