퇴근5분전

배율 관련 I    http://aseuka.tistory.com/358

음...  사이즈 배율 조절하기인데... 

음... 조금 고민거리가 있긴하다

배율조정하면 이게 좌표가 자꾸 바뀌므로 가운데 이동을 시켜주는데...

그냥 해당 위치만큼 off 조절하는 로직을 고민해봐야겠음.





 void ZoomIn()
        {
            int idx = toolStripComboBox1.ComboBox.SelectedIndex;
            if (Factors.Length > toolStripComboBox1.ComboBox.SelectedIndex + 1)
                toolStripComboBox1.ComboBox.SelectedIndex++;
        }
        
        void ZoomOut()
        {
            int idx = toolStripComboBox1.ComboBox.SelectedIndex;
            if (0 <= toolStripComboBox1.ComboBox.SelectedIndex - 1)
                toolStripComboBox1.ComboBox.SelectedIndex--;
        }
 
        void ZoomSet(int Idx)
        {
            if (0 <= Idx && Idx < Factors.Length)
            {
                float SelectFactor = Factors[Idx];
                float FactorF = SelectFactor / OldFactor; 
            
                ControlScale(toolStripContainer1.ContentPanel.Controls, FactorF);                
                OldFactor = SelectFactor;
                CenterMove();
            }
        }
 
        private void ControlScale( Control.ControlCollection ctrls,  float FactorF)
        {
            if( ctrls == null ) return;
            
            foreach (Control ctrl in ctrls)
            {
                if (ctrl.Tag != null) continue;
           
                ctrl.Scale(new SizeF(FactorF, FactorF));
                ctrl.Font = new Font(ctrl.Font.FontFamily, ctrl.Font.Size * FactorF);
                // 최상위 컨트롤의 AutoScaleMode = None!!설정
                if (ctrl.Controls != null && ctrl.Controls.Count > 0)
                {
                    ctrl.Width = ctrl.Controls[0].Width + GS_Class_UI_Config.Margin;
                    ctrl.Height = ctrl.Controls[0].Height + GS_Class_UI_Config.Margin;
                    ctrl.Controls[0].Left = GS_Class_UI_Config.OffSet_XY;
                    ctrl.Controls[0].Top = GS_Class_UI_Config.OffSet_XY;
                }
            }
        }

'# 1) 프로그래밍' 카테고리의 다른 글

.NET] 트리 뷰_ 체크박스 - 더블클릭  (0) 2012.04.09
.net ] 한글 유니코드 변환  (0) 2012.04.07
.Net] 가운데 이동  (0) 2012.03.25
.Net] 양쪽 맞춤.  (0) 2012.03.25
.Net] C# 객체 숨기기....  (0) 2012.03.22