정말로 그렇네요
기존에 Clipboard에 저정되어있던것도
OpenDialog를 연 상태에서 Ctrl+C 등을 한후에 Dialog를 닫으면
ClipBoard에 있던것이 날아가네요
그런데 이런 현상은 델파이의 OpenDialog의 특징이 아니라
모든 Windows에서 동일한 현상일것 같습니다.
현재 Win7을 쓰는데..
notepad(메모장)에서는 말씀하신바와 같이 똑같이 동작하고
mspaint(그림판)에서는 그렇게 동작하지 않고 clipboard에 내용이 남아있습니다.
또
제가 개발툴을 RadStudio2010과 CBuilder6을 쓰는데..
CBuilder6의 OpenDialog는 clipboard가 날라가 버리고
2010의 OpenDialog는 Clipboard 정보가 남아있습니다.
CBuilder6이나 Delphi7의 OpenDialog소스를 보면
Windows의 ComDlg32.dll의 GetOpenFileName 이라는 api를 호출해서 dialog를 띄웁니다.
반면 RadStuio2010의 OpenDialog 내부 소스를 보면 OS에 따라 조금 다르게 동작하구요
결론적으로
ComDlg32.dll에 있는 GetOpenFileName이라는 api의 문제가 아닐까 하는 생각이 듭니다.
Vista나 Win7에서는 File-Dialog를 열기위한 다른 api가 있는데..
그것을 사용하는 경우는 괜찮은것 같구요
그럼..
이영호 님이 쓰신 글 :
: 델파이포럼에서 많은 도움을 받았습니다.
: 탐색기에서는 파일 복사를 한 후 탐색기를 닫아도, 파일 복사가 됩니다.
: opendialog에서 파일 복사를 하여,
: opendialog가 열린 상태에서 다른 폴더에 붙여넣기를 할 수 있습니다.
: 그런데,opendialog를 닫으면 붙여넣기 자체가 되지 않습니다.
: opendialog를 닫아도, 붙여넣기를 할 수 있는 방법을 찾고 있습니다.
: 도움 부탁드립니다.
:
|