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

C++빌더 팁&트릭
C++Builder Programming Tip&Tricks
[73] [팁]종료버튼 동적으로 disable 시켰다 enable 시키는 방법
임승균.조로 [zoro] 8643 읽음    2000-12-30 00:00
안녕하세요

캡션바 영역에 종료버튼을 죽였다 살렸다 하는 건데요.. 쩝
필요하신분이 있는지 모르겠네요.. 어쨌든

많은 Menu function중에서 ModifyMenu or EnabeldMenuItem을 쓰시면 되는데요..
ModifyMenu는 맨뒤의 인자로 스트링도 바꿀수 있죠.. 근데 전 별로예요..
그래서 EnableMenuItem을 썼습니다.
그리고 DrawMenuBar는 마지막에 호출해주셔야 상태가 바뀐모습을 볼 수 가 있습니다.
// Disable 시키기... 
void __fastcall TForm1::Button3Click(TObject *Sender)
{
  HMENU hMenu = GetSystemMenu(Handle, false);
//  ModifyMenu(hMenu, SC_CLOSE, MF_BYCOMMAND|MF_GRAYED, SC_CLOSE, "닫기(&X)");
  EnableMenuItem(hMenu, SC_CLOSE, MF_BYCOMMAND|MF_GRAYED);
  DrawMenuBar(Handle);
}
//---------------------------------------------------------------------------

// Enable 시키기... 
void __fastcall TForm1::Button4Click(TObject *Sender)
{
  HMENU hMenu = GetSystemMenu(Handle, false);
//  ModifyMenu(hMenu, SC_CLOSE, MF_BYCOMMAND&~MF_GRAYED, SC_CLOSE, "닫기(&X)");
  EnableMenuItem(hMenu, SC_CLOSE, MF_BYCOMMAND&~MF_GRAYED);
  DrawMenuBar(Handle);
}
//---------------------------------------------------------------------------

밑에 부분은 Maximize 버튼을 활성화 비활성화 하는건데요..
위에 방법으로는 안되더군요..
이렇게 하면 윈도우를 다시 생성 하면서 껌벅껌벅 거린답니다..
웬만하면 이방법은 별로 인거 같아요..
어쨌든 아래 소스 입니다.
void __fastcall TForm1::Button5Click(TObject *Sender)
{
  TBorderIcons tempBI = BorderIcons;
  tempBI >> biMaximize;
  BorderIcons = tempBI;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button6Click(TObject *Sender)
{
  TBorderIcons tempBI = BorderIcons;
  tempBI << biMaximize;
  BorderIcons = tempBI;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button7Click(TObject *Sender)
{
  TBorderIcons tempBI = BorderIcons;
  tempBI << biMinimize;
  BorderIcons = tempBI;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button8Click(TObject *Sender)
{
  TBorderIcons tempBI = BorderIcons;
  tempBI >> biMinimize;
  BorderIcons = tempBI;
}
//---------------------------------------------------------------------------

그럼 즐거운 하루 되십시요..

+ -

관련 글 리스트
73 [팁]종료버튼 동적으로 disable 시켰다 enable 시키는 방법 임승균.조로 8643 2000/12/30
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.