안녕하세요.^^ 오늘로서 두번째 질문인대요...
제가 MDI 를 사용해서 워드프로그램을 만들려고 합니다...
그런대 지금 두군대에서 자꾸 애러가 나고 있는대요..
하나는 부모폼에 콤보 박스 컴포넌트를 두고 이 부모폼에 있는
콤보 박스를 사용해서 자식폼인 RichEdit 에 영향을 주고 싶은대..
애러가 자꾸 나고 있습니다...
procedure THMDIForm.FontComboBoxChange(Sender: TObject);
begin
THMDIEdit.RichEdit1.SelAttributes.Name := FontName.Items[FontName.ItemIndex];
end;
를 해서 애러가 났거든요.그래서 THMDIEdit 를 빼고
RichEdit1.SelAttributes.Name := FontName.Items[FontName.ItemIndex];
이런식으로 해도 계속해서 애러가 납니다..
그리고 또하나는 부모폼에 버튼들은(열기버튼이나 저장버튼들) 은 자식폼인
THMDIEdit 폼에 메인매뉴를 클릭하는 식으로 소스를 짰습니다..
THMDIEdit(자식폼임) 폼에 메인매뉴중에 짜르기 소스
procedure THMDIEdit.HCutClick(Sender: TObject);
begin
RichEdit1.CutToClipboard;
end;
입니다..
이것은 부모폼에 짜르기 버튼을 눌러서 할려고 소스
procedure THMDIForm.BCutClick(Sender: TObject);
begin
HMDIEdit.HCutClick(Sender);
end;
입니다...
그런대 문제가 부모폼에서 새로 자식폼을 생성했을때는 짜르기 버튼이
안먹힌다는것입니다...처음 나온 자식폼만 버튼에 짜르기가 돼고
다른 자식폼들은 짜르기가 안됩니다...^^;;
아마 제가 생각해서 생성되는 자식폼들은 이름이 달라지는건지 ㅡ.ㅡ?
뭔가가 있는거 같은대요.제가 어디서 잘못생각하고 있는건지
좀 갈켜주시면 감사드리겠습니다.
언제나 좋은하루 되세요^^
기본적으로 MDI폼에서 Child폼을 생성 할때 동적 생성을 합니다.
그정보는 부모폼에 있는 속성중 MDIChildren 이 속성에 배열로 잘
정리 정돈 되어 있습니다 ^^
예제를 간단히... 보시면
procedure TMainForm.Button1Click(Sender: TObject);
var
NewFrm: TForm;
begin
NewFrm := MDIChildren[3];
NewFrm.Show;
end;
이렇게 하면 배열내 3번째 있는 폼이 제일 앞으로 튀어 나오죠
물론 3번째 배열에 자식 폼이을 뛰울라면 이미 자식 폼이 4개 이상은
있어야 합니다.
질문의 답변이 맞았는지 모르겠군요....
암튼 저 예제를 통해서 보면 NewFrm은 여러개의 자식폼중에 배열에 3번째에
(실제로는 0부터 시작이니까 4번째 뜬 창이 되겠군요)
있는 폼의 할당 받았으니까 NewFrm.RichEdit 와 같은 속성을 사용 하실 수가
있으실 겁니다.
그럼 즐코 되세요~~~