|
2일째 님이 쓰신 글 :
: 빌더 사용중에 있는데 Button으로 버튼을 생성한 후 이벤트를 적용시켜서
: 클릭하면 새로운 폼이 뜨게 하고 있습니다.
: 처음에 LogIn 폼이 있고 새로 띄우는 폼은 Main이라고 하면
: void __fastcall TLogIn::OkBtnClick(TObject *Sender)
: {
: Main -> ShowModal();
: }
: 이렇게 하여서 Ok버튼을 누르면 새로운 폼이 뜹니다.
: 그리고 Main에서 또 Button을 이용하여 새로운 폼을 띄우게 하고 싶은데
: 위와 같이 같은 방법으로 하니깐 오류나 뜨네요.
: 메인에서 StForm을 이용하여 새로운 폼을 띄우는데,
: void __fastcall TMain::StFormClick(TObject *Sender)
: {
: StForm -> ShowModal();
: }
: 이렇게 하니깐
: [C++ Error] Main1.cpp(20): E2316 'ShowModal' is not a member of 'TButton'
: showmodal이 버튼의 멤버가 아니라고 하는데 login폼에서 부터 시작하여 2중으로 폼을 띄울려면 메모리를 뭐 다르게 해주어야 하나요??
: 그냥 각 폼별로 1차적으로만 창 띄우면 될것 같은데
: 음...
: 부탁 드립니다.
아무레도 이분 글을 보니
메인폼이 로그인 폼이고 버튼을 누르면 새로운폼 보이게 하는거 같은뎅
ShowModal() 함수는 다이얼로그처럼 띄워저있을때 화면상 아래있는 폼은 클릭안되게 되죠
그렇기때문에 ShowModal 로 폼을 띄웠으므로 메인폼은 볼수 없게 될겁니다
2중으로 폼을 띄운다는게 메인폼이랑 서브폼이 같이 클릭 가능하게 하려고하는건지는 좀 애매하군요
메인폼이랑 서브폼작업을 다 가능하게 하시려면 Show()함수를 써서 띄우는게 좋을거같구요
서브폼만 작업해야 된다면 ShowModal을 하시구요 메인폼은 안보여지게 하시고요
로그인폼은 메인 폼에다 만드는것 보다 서브폼에 만들고
메인폼 생성전에 시작하게만들고 로그인 성공 하게 되면
메인폼이 보여지도록 하는게 훨씬 좋을거같네요
질문한분의 main폼은 이름상 main폼 같네요
버튼이있는 폼이 메인폼이고 로그인폼을 따로 만드시고
처음시작할때 로그인폼먼저 보이도록하시고
로그인이 되면 로그인폼은 안보이게하고 메인폼을 보이게합니다
버튼을 누르면 새로언 서브폼이 보이도록 하게 합니다
|