본문 바로가기

Dev::DotNet/WinForm

C# 에서 Codejock 의 Ribbon 과 Docking


현재 MDI 의 레이아웃을 구성할 때 


Codejock Xtreme SuitePro ActiveX 를 많이 사용하고 있다.


VB6 할때 많이 사용해서 인지  손에 익고 이것저것 기능을 맵핑해서 만들어놓은 것이 많다보니까 


C# Winform 에서도 사용하고 있다. 


닷넷용 서드파티를 사용하는 것이 좋긴하겠지만 바꾸는 것이 쉽지는 않다....ㅡㅡ


어쩌든....


VB에서 어느정도 사용해봐서 C# 에서 할때도 금방 할 수 있을 줄 알았는데...


기본적인 Ribbon 과 Docking 을 구성하는데 많은 시간이 소요되었다.


첫번째는 예시에도 없는 소스 한줄이 있어서 그거 찾는데 많은 시간을 할애하였고...


두번째는 아무리 이렇게 저렇게 해봐도 Ribbon 과 Docking 이 제자리에 그려지지가 않았다


Ribbon 위에 Docking 이 올라가고 짤리고.....


VB에서 했던 것과 방법과 순서도 동일하였기 때문에 소스에는 문제가 없다고 판단하고


이것저것 테스트 해보던 중....


드디어 참 이상하고 난감한 문제를 찾을 수가 있었다.


Codejock 을 사용하여 Ribbon 과 Docking 을 구성할 때 기본적으로 


두가지 ActiveX 컨트롤을 올리는데 "Codejock.CommandBars" 와 "Codejock.DockingPane" 이다.


문제는 대상 MDI 폼에 어느 컨트롤을 먼저 올렸느냐...이다.


나의 경우나 동일한 문제를 겪었던 아는 분도 마찬가지고 


보통 메뉴를 구성하는 Codejock.CommandBars 를 올려서 Ribbon 이나 ToolBar 를 구성하고 


그 뒤에 Codejock.DockingPane 을 올려서 Docking 을 생성하여 붙이는게 일반적이라고 본다.


하지만 이 순서대로 폼에 컨트롤을 올리면 아무리 해도 제대로된 Ribbon 과 Docking 이 구성이 


되지 않았다.


Codejock.DockingPane 올린 후 Codejock.CommandBars 컨트롤을 올리면 제대로 안되던 


소스도 제대로 보여진다.


원인은 모르겠다...하지만 결과가 이렇다.