|
TEdit에 OnContextPopup이라는 Event 함수가 있군요.
여기서 parameter로 넘어오는 값중 Handled를 true로 하니까
Popup이 뜨질 않습니다.
물론 Shift + F10도 동작하지 않구요..
참고하시면 될 듯 하네요..
void __fastcall TForm::TEdit1ContextPopup(
TObject *Sender, TPoint &MousePos, bool &Handled)
{
Handled = true;
}
스마일 님이 쓰신 글 :
: 감사합니다.
: 그런데요~
: 만약에 Form에 TEdit가 여러개인 경우는 각각의 OldProc을 전역에서
: 다 기억하고 있어야 하나요?
: 어떻게 한꺼번에 처리하는 방법은 혹시 없나요?
:
:
: 마제 님이 쓰신 글 :
: : 스마일 님이 쓰신 글 :
: : : 안녕하세요!
: : : Form에 TEdit를 올려놓았는데
: : : TEdit에 마우스 오른쪽 버튼을 누르니 Popup Menu가 뜨는군요.
: : : 안 뜨게 하는 방법이 없나요?
: : : 뜨면 안되는데...
: : : 답변 부탁드려요~
: :
: :
: : Form1.H 에
: : {
: : ....
: : TWndMethod OldProc;
: : void __fastcall NewProc(TMessage &Message);
: : }
: :
: : 폼의 생성자에
: : {
: : ...
: : OldProc = Edit1->WindowProc;
: : Edit1->WindowProc = NewProc;
: : }
: :
: : void __fastcall TForm1::NewProc(TMessage &Message)
: : {
: : if (Message.Msg == WM_RBUTTONDOWN) return;
: : OldProc(Message);
: : }
: :
: : 종료할때
: : {
: : ....
: : Edit1->WindowProc = OldProc;
: : }
: :
: : 이러면 될것 같네요
|