Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[7837] Re:[질문] Task Bar에서 닫기를 Enabled시키려면 ?....?
박지훈.임프 [cbuilder] 1031 읽음    2001-12-31 21:50
아래 방법외에.. 다른 방법입니다.
이 방법은 팁 게시판에 조로님께서 올려주신 것인데..
시스템메뉴의 메뉴아이템을 찾아서 강제로 비활성화시키는 것입니다.

아래 소스를 보면, 거의 같은 코드를 두번 실행시키는데, 첫번째 것은 메인폼의 Close 메뉴를
비활성화시키는 것이고, 두번째 것은 델파이 프로그램에서 숨겨진 진짜 메인윈도우의 Close 메뉴를
비활성화시키는 것입니다.
참고로, 폼의 Close 메뉴를 비활성화시키면 폼 상단의 닫기 버튼(X)도 함께 비활성화됩니다.

다시 활성화시키려면, EnableMenuItem() 함수만 다음과 같이 바꾸어서 실행해주면 됩니다.
EnableMenuItem(hMenu, SC_CLOSE, MF_BYCOMMAND&~MF_GRAYED);

그럼...


procedure TForm1.Button1Click(Sender: TObject);
var
  hMenu : HMENU;
begin
  hMenu := GetSystemMenu(Handle, false);
  EnableMenuItem(hMenu, SC_CLOSE, MF_BYCOMMAND or MF_GRAYED);
  DrawMenuBar(Handle);

  hMenu := GetSystemMenu(Application.Handle, false);
  EnableMenuItem(hMenu, SC_CLOSE, MF_BYCOMMAND or MF_GRAYED);
  DrawMenuBar(Handle);
end;



Feelguy 님이 쓰신 글 :
: * 사용환경 : 델파이6 / Windows 98
: * 에러 메시지 :
:
: 현재 폼을 종료를 막고 싶은데.. 키값으로 alt + f4는 잡았는데..
:
: 정작 중요한 Task Bar의 닫기를 어떻게 해야할지 모르겠습니다.
:
: 노턴 안티바이러스는 그냥 닫기 popup 메뉴를 선택하니깐..
:
: 그냥 Systray로 이동하던데.. 어떻게 하는 거죠..
:
: 한 1주전에 alt+f4 막어놓고.. 이제 끝났겠지.. 하고..
:
: 잃어 버리고 있었는데.. 오늘 Task bar에서 닫기를 클릭하니깐..
:
: 기양 종료 되어 버리네요..
:
: 고수님들 좀알려주세요.. ^^
:
: 모두들 즐코하세요..
:
: 읽어주신분께 감사 꾸벅.. ^^

+ -

관련 글 리스트
7831 [질문] Task Bar에서 닫기를 Enabled시키려면 ?....? Feelguy 541 2001/12/28
7837     Re:[질문] Task Bar에서 닫기를 Enabled시키려면 ?....? 박지훈.임프 1031 2001/12/31
7839         Re:Re:[질문] Task Bar에서 닫기를 Enabled시키려면 ?....? Befree 549 2002/01/01
7833     Re:[질문] Task Bar에서 닫기를 Enabled시키려면 ?....? 류종택 640 2001/12/28
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.