본 자료는
1. SmartUpDown의 경우 버튼 이미지에 마스킹 영역 표현 시 주의 사항
2. SmartUpDown의 Layout 스타일에 따른 마스킹 영역 표현 방법
3. 투명 지원 컴포넌트를 마스킹 처리 시 적용이 안 되는 경우 해결 방법
순서로 진행합니다.
해당 내용은 SmartX Old Framework(3.2.4 이하의 버전)에서만 적용되는 내용으로 SmartX New Framework에는 적용되지 않는 내용이기 때문에 주의하시기 바랍니다.
-
SmartX New Framework에서 적용되지 않는 이유
SmartX New Framework에서는 Button의 BackGround속성을 따로 설정하여 투명처리를 선택할 수 있기 때문에 본문에서 설명하고자 하는 주의사항에 포함되지 않습니다.
1. SmartUpDown의 경우 버튼 이미지에 마스킹 영역 표현 시 주의 사항
CASE-1 | 상/하/좌/우에 마스킹 영역을 표현한 경우 |
---|---|
|
CASE-2 | 버튼 이미지의 최상단에 두꺼운 마스킹 영역을 표현한 경우 |
---|---|
|
CASE-3 | 마스킹 영역을 표시하지 않은 경우 |
---|---|
|
[권장 방법] | |
---|---|
CASE-4 | 버튼 이미지의 최상단에 1픽셀의 마스킹 영역을 표현한 경우 |
|
2. SmartUpDown의 Layout 스타일에 따른 마스킹 영역 표현 방법
SmartUpDown의 Layout은 크게 세 가지로 분류됩니다. 각 Layout에 따라 마스킹 영역의 위치가 달라지므로 마스킹 이미지 제작 시 주의하시기 바랍니다.
BOTTOM | ||
---|---|---|
RIGHT1 | ||
RIGHT2 |
3. 투명 지원 컴포넌트를 투명 처리해도 적용이 안 되는 경우 해결 방법
UI 디자인을 할 때 간혹 UI 디자인의 순서 및 배치가 엉키게 되어 투명 처리가 적용이 안 되는 경우가 있습니다. 이러한 경우가 발생하면 프로젝트의 Designer.cs에서 SmartForm의 개체가 1. 선언, 2. 할당, 3. 속성 설정, 4. Add Control 부분에서 올바른 위치에 삽입되었는지 확인이 필요합니다.
// Designer.cs 파일 소스 내부
// 1. 선언. 다른 개체보다 가장 상위에 위치해야함
public SmartX.SmartForm smartForm1;
다른 개체 선언…
// 2. 할당. 다른 개체보다 가장 상위에 위치해야함
this.smartForm1 = new SmartX.SmartForm();
다른 개체 할당…
// 3. 속성 설정
// smartForm1
this.smartForm1.CenterLocation = false;
this.smartForm1.Image = ((System.Drawing.Image)(resources.GetObject("smartForm1.Image")));
this.smartForm1.LCDDirection = SmartX.SmartForm.LCDDIRECTIONSM.HORIZONTAL;
this.smartForm1.LCDSize = SmartX.SmartForm.LCDRESOLUTION.LCD800X480;
this.smartForm1.Location = new System.Drawing.Point(0, 0);
this.smartForm1.MainForm = null;
this.smartForm1.Mode = SmartX.SmartForm.RUNMODE.DEVELOPER;
this.smartForm1.MouseCursor = SmartX.SmartForm.OnOff.ON;
this.smartForm1.Name = "smartForm1";
this.smartForm1.Size = new System.Drawing.Size(800, 480);
this.smartForm1.SpecialFunctionClickPointSize = 100;
this.smartForm1.SuspendLayoutInterval = 1;
다른 개체 속성 설정…
// 4. Add Control. Designer.cs에서 Z Order와 관련있음. 하단에 있을수록 Z Order가 낮음
다른 개체 Add Control 설정…
// 맨 아래
this.Controls.Add(this.smartForm1);